5

尝试在 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 编译的,所以安装应该没有问题。

任何帮助,将不胜感激。

干杯

4

4 回答 4

12

修复。

我不得不用--enable-unicode=ucs4 重新编译python。

仍然不清楚为什么 ubuntu 上的默认版本使用 ucs4。

于 2010-04-06T11:53:26.327 回答
4

就像你说的,你的 Python 是用 UCS4 构建的。但是您尝试安装的 psycopg2 是针对 Python 构建的UCS2构建的。针对 UCS4 查找或构建一个。

于 2010-04-06T10:56:28.750 回答
1

bx.intervals从以下位置导入时我遇到了同样的错误bx-python

undefined symbol: PyUnicodeUCS2_Decode

但是,我使用的 python 版本已经用ucs4. 显然,bx-python它是针对使用ucs2. 所以我不得不以OP描述的相反方式重新编译python ./configure --enable-unicode=ucs2:.

于 2020-07-09T09:40:24.610 回答
-1

就我而言,使用 bash shell 我没有问题,而使用 csh 时遇到了这个问题。实现了安装了多个版本的python。/usr/local/bin 中的一个默认值有效,而 /bin 中的一个默认值显示了这个问题。在您认为需要使用管理员帮助重新编译之前,请指出您是否安装了任何替代版本的 python。

于 2020-04-29T15:13:00.800 回答