使用psycopg2的“ ELF文件操作系统ABI无效”

时间:2018-06-25 15:06:49

标签: python psycopg2

我已经发布了a question,但我认为问题可能是特定的。因此,我创建了这个新帖子。

当我在python控制台psycopg2中进行测试时,出现此错误:

this-user@xxx-web:~/my-folder$ python
Python 2.7.9 (default, Jun 29 2016, 13:08:31)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

>>> import sys,os
>>> import psycopg2

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/users/this-user/.local/lib/python2.7/site-packages/psycopg2/__init__.py", line 50, in <module>
    from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: /home/users/this-user/.local/lib/python2.7/site-packages/psycopg2/_psycopg.so: ELF file OS ABI invalid
>>> quit()

this-user@xxx-web:~/massifs$ ll /home/users/this-user/.local/lib/python2.7/site-packages/psycopg2/_psycopg.so

-rwxr-xr-x 1 this-user 214K mai   21  2015 /home/users/this-user/.local/lib/python2.7/site-packages/psycopg2/_psycopg.so*

如果我以root身份运行python的控制台,则可以正常运行! :(

感谢您的帮助。 F。

1 个答案:

答案 0 :(得分:1)

请注意,您的导入是从“用户”安装中进行的,因此,如果您以root用户身份运行,它将导入其他内容(恰好可以正常工作的模块的另一个副本)。您可能有两次安装psycopg2模块,而this-user中的模块却不兼容(也许您是直接从另一台主机复制的,而不是与pip一起安装的。) >

您可能应该先卸载psycopg2,然后先用python -m pip uninstall --user psycopg2然后再用python -m pip install --user psycopg2重新安装,这样才能正确构建.so文件。 / p>