无法安装lxml(Python 2.6.3,OSX 10.6雪豹)

4 投票
2 回答
2283 浏览
提问于 2025-04-15 14:46

我尝试这样做:

easy_install lxml

结果出现了这个错误:

文件 "build/bdist.macosx-10.3-fat/egg/setuptools/command/build_ext.py",第85行,在 get_ext_filename 中 KeyError: 'etree'

有什么提示吗?

2 个回答

3

Ned :

Python的distutils在2.6.3版本中有不兼容的变化。

其实并不是这样。API(应用程序接口)没有变化,但Setuptools会覆盖这些接口,并假设它们是按照特定的顺序被调用的。

Lennart:

Distribute的安装似乎没有引发这个错误。

没错,这个具体的错误早就被发现并在Distribute中修复了(还有Ubuntu的setuptools包中也修复了)。

7

由于在Python 2.6.3版本的distutils中有一些不兼容的变化,旧版的 easy_install 来自 setuptools 已经无法使用了。你需要用来自 Distributeeasy_install 来替换它。按照那里的说明操作,基本上就是:

$ curl -O http://nightly.ziade.org/distribute_setup.py
$ python distribute_setup.py

假设你的 $PATH 中,2.6.3的 python 是排在最前面的。

补充说明:除了可以从setuptools迁移到Distribute之外,Python 2.6.4将在几周内发布,它会在distutils中包含一个 解决方法,可以让 setuptools恢复正常。感谢Tarek提供的修复,也感谢jbastos提出这个问题。

进一步补充: setuptools 本身已经更新(截至 0.6c10),以解决2.6.3中的问题。

撰写回答