2

我有一台运行 OS X 10.8、Xcode 4.4 的 MacBook Pro。我最近安装了 lxml,但是当我去导入它时,我得到了以下信息:

MacBook-Pro:~ jedc$ sudo pip install lxml==2.3.5
Password:
Downloading/unpacking lxml==2.3.5
  Downloading lxml-2.3.5.tar.gz (3.2Mb): 3.2Mb downloaded
  Running setup.py egg_info for package lxml
    Building lxml version 2.3.5.
    Building without Cython.
    Using build configuration of libxslt 1.1.26
    warning: no previously-included files found matching '*.py'
Installing collected packages: lxml
  Running setup.py install for lxml
    Building lxml version 2.3.5.
    Building without Cython.
    Using build configuration of libxslt 1.1.26
    building 'lxml.etree' extension
    /usr/bin/cc -fno-strict-aliasing -O3 -w -pipe -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/libxml2 -I/usr/local/Cellar/python/2.7.1/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.4-x86_64-2.7/src/lxml/lxml.etree.o -w -flat_namespace
    /usr/bin/cc -L/usr/local/Cellar/readline/6.1/lib -bundle -undefined dynamic_lookup -L/usr/local/Cellar/readline/6.1/lib build/temp.macosx-10.4-x86_64-2.7/src/lxml/lxml.etree.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.4-x86_64-2.7/lxml/etree.so
    building 'lxml.objectify' extension
    /usr/bin/cc -fno-strict-aliasing -O3 -w -pipe -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/include/libxml2 -I/usr/local/Cellar/python/2.7.1/include/python2.7 -c src/lxml/lxml.objectify.c -o build/temp.macosx-10.4-x86_64-2.7/src/lxml/lxml.objectify.o -w -flat_namespace
    /usr/bin/cc -L/usr/local/Cellar/readline/6.1/lib -bundle -undefined dynamic_lookup -L/usr/local/Cellar/readline/6.1/lib build/temp.macosx-10.4-x86_64-2.7/src/lxml/lxml.objectify.o -lxslt -lexslt -lxml2 -lz -lm -o build/lib.macosx-10.4-x86_64-2.7/lxml/objectify.so

Successfully installed lxml
Cleaning up...
MacBook-Pro:~ jedc$ python
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

由于 lxml 已成功安装,但 Python 找不到它,我显然配置错误。这是其他信息:

MacBook-Pro:~ jedc$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
MacBook-Pro:~ jedc$ which pip
/usr/local/bin/pip
MacBook-Pro:~ jedc$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/go/bin:/Users/jedc/.rvm/bin

我的 ~/.bash_profile 包含以下内容:

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

有人告诉我,我可能因为(在以前的某个时候)安装了非 Apple 默认版本的 Python 而搞砸了。 谁能帮我弄清楚我需要做什么来诊断这个然后修复它?

4

1 回答 1

6

你的pip命令是为不同的 python 安装的(一个安装在/usr/local/bin. 你会发现/usr/local/bin/python导入工作。

您需要为您的其他 python(中的那个)单独安装 pip/Library/Frameworks/Python.framework/Versions/2.7/bin/python ,以便为该 python 版本安装 lxml。

用于确保安装后使用/Library/Frameworks/Python.framework/Versions/2.7/pip正确的pip命令进行安装。lxmlpip

于 2012-09-19T22:25:51.577 回答