无法安装lxml(Python 2.6.3,OSX 10.6雪豹)
我尝试这样做:
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 已经无法使用了。你需要用来自 Distribute 的 easy_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中的问题。