繁体   English   中英

未定义符号:尝试安装 psycopg2 时 PyUnicodeUCS2_Decode

[英]undefined symbol: PyUnicodeUCS2_Decode whilst trying to install psycopg2

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

任何帮助,将不胜感激。

干杯

修复。

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

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

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

bx-python导入bx.intervals时我遇到了同样的错误:

undefined symbol: PyUnicodeUCS2_Decode

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM