【发布时间】:2012-12-18 15:50:35
【问题描述】:
我已经从我的 Mac (10.7.5) 中删除了 MacPorts,现在 Python 似乎坏了。我正在尝试运行scrapy,最后出现以下错误:
ImportError: dlopen(/Library/Python/2.7/site-packages/lxml-2.3.4-py2.7-macosx-10.7-intel.egg/lxml/etree.so, 2): Symbol not found: _exsltDateXpathCtxtRegister
Referenced from: /Library/Python/2.7/site-packages/lxml-2.3.4-py2.7-macosx-10.7-intel.egg/lxml/etree.so
Expected in: /usr/lib/libexslt.0.dylib
in /Library/Python/2.7/site-packages/lxml-2.3.4-py2.7-macosx-10.7-intel.egg/lxml/etree.so
当我运行 python 并尝试导入该库时,我收到与以下相同的错误:
$ python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 14:13:39)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from lxml import etree
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dlopen(/Library/Python/2.7/site-packages/lxml-2.3.4-py2.7-macosx-10.7-intel.egg/lxml/etree.so, 2): Symbol not found: _xsltDocDefaultLoader
Referenced from: /Library/Python/2.7/site-packages/lxml-2.3.4-py2.7-macosx-10.7-intel.egg/lxml/etree.so
Expected in: flat namespace
in /Library/Python/2.7/site-packages/lxml-2.3.4-py2.7-macosx-10.7-intel.egg/lxml/etree.so
我现在该如何收拾这个烂摊子?
【问题讨论】:
-
通过重新安装 XSLT 库?您的 MacPorts 安装提供了这些,现在
lxml(一个附加库)是 b0rken。 -
@MartijnPieters:对于有 Lion 的人来说,这确实是过时的建议。我相信 Lion 已经提供了可用的
libxml2和libxslt2(虽然我可能错了——再说一次,即使我错了,我怀疑你今天是否想明确要求版本 2.7.3 …) -
请确认以下几点: 1. 这是Apple提供的Python (
/usr/bin/python)? 2. 您没有非 Apple 提供的 Python 安装。 3./usr/lib/libxml2.dylib有东西。 4. 如果您运行xml2-config --version,它会报告2.7.0 或更高版本的内容。然后:你是如何安装lxml的? (pip,easy_install,下载 tarball/extract/python setup.py install,或者其他方式)? -
我在安装
lxml后遇到了同样的问题。但是考虑到我在没有 Xcode 的 OS X 10.6.8 上努力安装gcc,然后努力让lxml编译,我对它仍然无法正常工作并不感到惊讶......
标签: python