【发布时间】:2011-07-24 12:37:36
【问题描述】:
ubuntu 11.04 有本机 python2.7 我从源代码构建 python2.5 到 /usr/local/python2.5/bin,并尝试为我的自定义 python2.5 安装安装 lxml。我也使用 virtualenv。我用 python2.5 切换到我的环境。在导入 lxml 时出现错误。
from lxml import etree
ImportError: /home/se7en/.virtualenvs/e-py25/lib/python2.5/site-packages/lxml-2.2.4-py2.5-linux-i686.egg/lxml/etree.so: undefined symbol: PyUnicodeUCS2_DecodeLatin1
使用 python2.7 环境,一切正常,但在 python2.5 上导入失败。请帮忙修复python2.5?
ldd /home/se7en/.virtualenvs/e-py25/lib/python2.5/site-packages/lxml-2.2.4-py2.5-linux-i686.egg/lxml/etree.so
结果:
(e-py25)se7en@se7en-R510-P510:~/downloads/lxml-2.2.4$ ldd /home/se7en/.virtualenvs/e-py25/lib/python2.5/site-packages/lxml-2.2.4-py2.5-linux-i686.egg/lxml/etree.so
linux-gate.so.1 => (0x00968000)
libxslt.so.1 => /usr/lib/libxslt.so.1 (0x005aa000)
libexslt.so.0 => /usr/lib/libexslt.so.0 (0x00110000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00db3000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0x00a22000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x00564000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0x00123000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x0013c000)
libgcrypt.so.11 => /lib/i386-linux-gnu/libgcrypt.so.11 (0x0029d000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x00d6e000)
/lib/ld-linux.so.2 (0x004fc000)
libgpg-error.so.0 => /lib/i386-linux-gnu/libgpg-error.so.0 (0x00879000)
(e-py25)se7en@se7en-R510-P510:~/downloads/lxml-2.2.4$
【问题讨论】:
-
好像是针对 2.7 编译的? ldd /home/se7en/.virtualenvs/e-py25/lib/python2.5/site-packages/lxml-2.2.4-py2.5-linux-i686.egg/lxml/etree.so 说什么?跨度>
-
你是如何安装 lxml 包的?
-
我通过 pip 和 easy_install 从源代码尝试。但结果总是相同的“从 lxml 导入 etree”引发错误。附言。 “导入 lxml”工作正常。
-
你用的是2.5版本的easy_install吗?喜欢:/usr/local/python2.5/bin/easy_install-2.5 lxml