在看似成功安装之后,导入lxml在OSX上失败

时间:2012-03-24 19:48:47

标签: python macos install lxml python-import

我正在尝试在OS X 10.6.8

上为python安装lxml

我根据对安装lxml的问题的回答在终端中运行sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install lxmlhttps://stackoverflow.com/a/6545556/216336

这是该命令的输出:

MYCOMPUTER:~ MYUSERNAME$ sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install lxml
Password:
Searching for lxml
Reading http://pypi.python.org/simple/lxml/
Reading http://codespeak.net/lxml
Best match: lxml 2.3.3
Downloading http://lxml.de/files/lxml-2.3.3.tgz
Processing lxml-2.3.3.tgz
Running lxml-2.3.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ytPLAc/lxml-2.3.3/egg-dist-tmp-NgYLdF
Building lxml version 2.3.3.
Building without Cython.
Using build configuration of libxslt 1.1.24
Adding lxml 2.3.3 to easy-install.pth file

Installed /Library/Python/2.6/site-packages/lxml-2.3.3-py2.6-macosx-10.6-universal.egg
Processing dependencies for lxml
Finished processing dependencies for lxml

对我来说看起来很成功,但是当我尝试在python中导入lxml时出现导入错误...

Last login: Sat Mar 24 15:26:04 on ttys000
MYCOMPUTER:~ MYUSERNAME$ python2.7
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import lxml
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named lxml

事实上,我似乎安装到2.6并且我运行2.7似乎是一个线索,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:4)

您已安装较新版本的Python(2.7.2),但您还需要安装并使用easy_install(来自Distributesetuptools)的副本才能使用它。您最终使用了与Apple提供的Python 2.6相关联的默认Apple提供的easy_install版本。请注意/Library/Python/2.6输出中的easy_install。 (您可以在使用lxml时尝试导入/usr/bin/python2.6来验证这一点。)使用Python 2.7安装easy_install之后,新的easy_install应该首先在您的shell路径上如果你使用标准的python.org安装程序默认值。如果没有,请更新您的PATH

export PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"

然后easy_install lxml使用它。使用python.org 2.7.2,您不需要添加ARCHFLAGS环境变量,但它不会受到伤害。

答案 1 :(得分:1)

你应该能够运行:

sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install-2.7 lxml

这将使用2.7安装附带的easy_install版本。