我已经发布了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。
答案 0 :(得分:1)
请注意,您的导入是从“用户”安装中进行的,因此,如果您以root用户身份运行,它将导入其他内容(恰好可以正常工作的模块的另一个副本)。您可能有两次安装psycopg2
模块,而this-user
中的模块却不兼容(也许您是直接从另一台主机复制的,而不是与pip
一起安装的。) >
您可能应该先卸载psycopg2
,然后先用python -m pip uninstall --user psycopg2
然后再用python -m pip install --user psycopg2
重新安装,这样才能正确构建.so
文件。 / p>