Python Pip版本悬而未决
我的情况基本上与Python Pip版本悬而未决,python,macos,pip,Python,Macos,Pip,我的情况基本上与 也就是说,我的mac电脑默认使用Python2.7,而Pip则安装到2.6 我使用默认的Python安装了easy_install,并用它安装了Pip 现在我得到: $ type pip pip is /Library/Frameworks/Python.framework/Versions/2.7/bin/pip $ echo $PATH /Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin
也就是说,我的mac电脑默认使用Python2.7,而Pip则安装到2.6 我使用默认的Python安装了easy_install,并用它安装了Pip 现在我得到:
$ type pip
pip is /Library/Frameworks/Python.framework/Versions/2.7/bin/pip
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
$ which pip
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip
$ ls -l $(which pip)
-rwxr-xr-x 1 ykessler admin 358 Oct 3 15:30 /Library/Frameworks/Python.framework/Versions/2.7/bin/pip
$ sudo bash
bash-3.2# type pip
pip is /Library/Frameworks/Python.framework/Versions/2.7/bin/pip
bash-3.2# echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
bash-3.2# ls -l $(which pip)
-rwxr-xr-x 1 ykessler admin 358 Oct 3 15:30 /Library/Frameworks/Python.framework/Versions/2.7/bin/pip
$哪个易于安装
/Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install
哪一点
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip
好的,看起来不错。但是,我也知道:
$ type pip
pip is /Library/Frameworks/Python.framework/Versions/2.7/bin/pip
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
$ which pip
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip
$ ls -l $(which pip)
-rwxr-xr-x 1 ykessler admin 358 Oct 3 15:30 /Library/Frameworks/Python.framework/Versions/2.7/bin/pip
$ sudo bash
bash-3.2# type pip
pip is /Library/Frameworks/Python.framework/Versions/2.7/bin/pip
bash-3.2# echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
bash-3.2# ls -l $(which pip)
-rwxr-xr-x 1 ykessler admin 358 Oct 3 15:30 /Library/Frameworks/Python.framework/Versions/2.7/bin/pip
$pip——版本
pip1.0.2来自/Library/Python/2.6/site-packages/pip-1.0.2-py2.6.egg(python2.6)
Pip仍在安装到2.6
我错过了什么
更新: 也许这是一个线索-我刚刚运行了以下命令:
$ ls -la /usr/bin/python*
-rwxr-xr-x 2 root wheel 86000 May 4 2011 /usr/bin/python
-rwxr-xr-x 5 root wheel 925 May 4 2011 /usr/bin/python-config lrwxr-xr-x 1 root wheel 75 May 4 2011 /usr/bin/python2.5 ->
../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5
lrwxr-xr-x 1 root wheel 82 May 4 2011
/usr/bin/python2.5-config ->
../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5-config
lrwxr-xr-x 1 root wheel 75 May 4 2011 /usr/bin/python2.6 ->
../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6
lrwxr-xr-x 1 root wheel 82 May 4 2011
/usr/bin/python2.6-config ->
../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6-config
-rwxr-xr-x 2 root wheel 86000 May 4 2011 /usr/bin/pythonw lrwxr-xr-x 1 root wheel 76 May 4 2011 /usr/bin/pythonw2.5 ->
../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/pythonw2.5
lrwxr-xr-x 1 root wheel 76 May 4 2011 /usr/bin/pythonw2.6 ->
../../System/Library/Frameworks/Python.framework/Versions/2.6/bin/pythonw2.6
及
看起来我的用户环境指向2.7,而根环境指向2.6?我如何协调这两者
更新2: 好的,只需再转动一下螺钉:
$ sudo pip --version
pip 1.2.1 from /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip-1.2.1-py2.7.egg (python 2.7)
$ pip --version
pip 1.0.2 from /Library/Python/2.6/site-packages/pip-1.0.2-py2.6.egg (python 2.6)
因此,我的根指向2.6,但sudopip--version
指向pip2.7,
虽然我的本地用户指向2.7,但pip--version
指向pip2.6
???我的大脑开始发热
现在我刚刚安装了sudopip{module},它在2.7中安装正确,但我希望我知道发生了什么
更新3:对内德问题的回答:
$ type pip
pip is /Library/Frameworks/Python.framework/Versions/2.7/bin/pip
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
$ which pip
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip
$ ls -l $(which pip)
-rwxr-xr-x 1 ykessler admin 358 Oct 3 15:30 /Library/Frameworks/Python.framework/Versions/2.7/bin/pip
$ sudo bash
bash-3.2# type pip
pip is /Library/Frameworks/Python.framework/Versions/2.7/bin/pip
bash-3.2# echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin
bash-3.2# ls -l $(which pip)
-rwxr-xr-x 1 ykessler admin 358 Oct 3 15:30 /Library/Frameworks/Python.framework/Versions/2.7/bin/pip
在我的系统上,我有几个简单的安装:
$ ls /usr/bin/easy_install*
/usr/bin/easy_install /usr/bin/easy_install-2.5 /usr/bin/easy_install-2.6 /usr/bin/easy_install-2.7
还有几个点子:
$ ls /usr/local/bin/pip*
/usr/local/bin/pip /usr/local/bin/pip-2.5 /usr/local/bin/pip-2.6 /usr/local/bin/pip-2.7
正如您所说,您的用户环境似乎指向2.7,但系统指向2.6。在我看来,你有两个选择:
$defaults write com.Apple.versioner.python version 2.7
或$export versioner\u python\u version=2.7
。(有关特定OSX版本的更多详细信息,请参阅。)pip-2.7
)您可能有$PATH问题或权限问题,或者两者都有。试试这个:
type pip
echo $PATH
which pip
ls -l $(which pip)
sudo bash
type pip
echo $PATH
ls -l $(which pip)
更新:在这两种情况下,还有一件事需要尝试:
env | grep PYTHON
sudo bash
env | grep PYTHON
然后我将查看站点包
目录的内容:
cd /Library/Frameworks/Python.framework/Versions/2.7
cd ./lib/python2.7/site-packages/
ls -al
more setuptools.pth
此外:
什么python列在
head/Library/Frameworks/python.framework/Versions/2.7/bin/pip
?@Martijn:#/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python如果直接运行/Library/Frameworks/Python.framework/Versions/2.7/bin/pip--version
?您的路径似乎有点混乱,因为它仍然发现Python 2.6版本。@Martijn:正确,直接指向它将显示正确的版本。我只是不确定默认路径如何指向上的2.7,而上的2.6执行时,是否为pip
定义了shell别名?echo$PATH
在指向Python2.6的pip
的同一个shell中给出了什么?您不能使用VERSIONER\u Python\u VERSION
指向非苹果安装的Python,AFAIK。@neddey-True。但是从上面他的路径名来看,他使用的是苹果安装的2.7 Python。@akraut-不,Ned是对的-我自己安装了Python2.7来与GAE合作,但对我来说不是很多月前。注意,/Library/Frameworks/
不是/System/Library/Frameworks
。苹果在他们的框架bin目录中没有包含类似于python-32
的东西。@arkaut-谢谢你的建议2-假设这会起作用,尽管我最终用sudo
实现了它,但我不明白为什么……在我的问题中,我将结果发布在更新3
下。都指向2.7?不用说,这一切都可以正常工作。但是,在这一点上,通过您采取的各种步骤,如果不详细了解您安装了什么Python、什么easy_安装版本和源代码(setuptools vs Distribute)、什么pip版本、何时使用sudo,就很难判断发生了什么,你的网站包
目录的确切内容是什么,什么环境变量设置有效等等。也许还有一件事需要检查:你有~/.pydistutils.cfg
文件吗?如果有,它的内容是什么?没有。但今天早上突然,pip指向并安装在2.7中!我真的不知道发生了什么变化,但我非常感谢你的帮助。