Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在OS X 10.8上更正Python/pip配置?_Python_Macos_Unix_Pip_Osx Mountain Lion - Fatal编程技术网

如何在OS X 10.8上更正Python/pip配置?

如何在OS X 10.8上更正Python/pip配置?,python,macos,unix,pip,osx-mountain-lion,Python,Macos,Unix,Pip,Osx Mountain Lion,我已经安装了一台运行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

我已经安装了一台运行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
我的~/.bash_配置文件包含以下内容:

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

有人告诉我,我(在之前的某个时候)安装了一个非苹果默认版本的Python,这很可能把事情搞砸了有人能帮我找出诊断这个问题然后修复它需要做什么吗?

您的
pip
命令是为不同的python安装的(一个安装在
/usr/local/bin
中)。您会发现对于
/usr/local/bin/python
导入是有效的

您需要分别为您的其他python(在
/Library/Frameworks/python.framework/Versions/2.7/bin/python
中的python)安装lxml


使用
/Library/Frameworks/Python.framework/Versions/2.7/pip
确保在安装
pip
后使用正确的
pip
命令来安装
lxml

我认为您需要安装自制版本的Python和
pip
。假设您至少有两个非苹果版本的Python 2.7安装后,第一个问题是:出于任何原因,您需要其中一个或两个吗?(Homebrew特别建议您不要使用他们的,除非您必须使用。Python.org建议您可能希望他们的版本比苹果的版本更新得多,但2.7.1与苹果的版本相同,因此您无法获得这一好处。)嗯,刚刚尝试了一下,得到了以下结果:
将pip脚本安装到/Library/Frameworks/Python.framework/Versions/2.7/bin将pip-2.7脚本安装到/Library/Frameworks/Python.framework/Versions/2.7/bin成功安装了pip
,然后
已经满足了pip安装lxml的要求(使用--升级升级):lxml在/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages中正在清理…
并且我仍然得到
导入错误:没有名为lxml的模块
系统python不在
/Library/Frameworks/python.framework/Versions/2.7/bin/python
中。它在
/system/Library/Frameworks/python.framework/Versions/2.7/bin/python
中从显示的版本信息来看,这似乎是python.org的python 2.7.2,而不是苹果在10.8中提供的python 2.7.2。那么为什么pip要安装到
/usr/local/cillar/python/2.7.1
?你也安装了自制的python吗?@JedChristiansen:看我已经更新的答案。你也可以删除整个安装(请参阅并使用系统python或自制python(自行选择)。我认为最简单的方法是同时删除python.org和自制python。然后剩下的
easy\u install
副本将是用于系统python安装的副本,
sudo easy\u install pip
将让您启动并运行。
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH