尝试在ubuntu 9.10 64位上安装psycopg2时出错。
错误是:
>>> import psycopg2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "psycopg2/__init__.py", line 69, in <module>
from _psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: psycopg2/_psycopg.so: undefined symbol: PyUnicodeUCS2_Decode
我尝试从http://initd.org/pub/software/psycopg/下载并安装它。我也尝试过使用easy_install。
安装过程中没有错误。
我的python(2.6.2)已经使用UCS4进行编译,这很奇怪,所以安装应该没有问题。
任何帮助都将不胜感激。
干杯
答案 0 :(得分:9)
修好了。
我不得不用--enable-unicode = ucs4重新编译python。
仍然不清楚为什么ubuntu上的默认版本使用ucs4。
答案 1 :(得分:4)
就像你说的那样,你的Python已经构建了UCS4。但是您尝试安装的psycopg2是针对Python构建的 UCS2 而构建的。在UCS4中找到一个或构建一个。
答案 2 :(得分:0)
从bx.intervals
导入bx-python
时出现相同的错误:
undefined symbol: PyUnicodeUCS2_Decode
但是,我正在使用的python版本已经使用ucs4
进行了编译。显然,bx-python
是针对使用ucs2
编译的python版本构建的。因此,我不得不按照OP所述的相反方式重新编译python:./configure --enable-unicode=ucs2
。
答案 3 :(得分:-1)
在我的情况下,使用bash shell没有问题,而csh遇到了此问题。实现了安装了多个版本的python。 / usr / local / bin中的一个默认设置可以工作,而/ bin中的一个默认设置可以解决这个问题。在您认为您需要与管理员帮助重新编译之前,请先检查一下是否安装了任何替代版本的python。