gpt4 book ai didi

python - pip 版本 hell

转载 作者:行者123 更新时间:2023-12-01 05:55:37 25 4
gpt4 key购买 nike

我的情况基本上与
中描述的完全相同 Python 2.7 on System, PIP and Virtualenv still using 2.6 - How do I switch them to use 2.7

也就是说,我的 Mac 默认使用 Python 2.7,而 Pip 安装到 2.6

我关注了Ned Deily's answer并使用我的默认 Python 安装了 easy_install,并使用它来安装 Pip。

现在我明白了:

$ which easy_install
/Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install
$ which pip
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip

好吧,看起来不错。但是,我也明白了:

$ pip --version
pip 1.0.2 from /Library/Python/2.6/site-packages/pip-1.0.2-py2.6.egg (python 2.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

$ ls -la /usr/local/bin/python*     
lrwxr-xr-x 1 ykessler wheel 68
Nov 14 2011 /usr/local/bin/python ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python
lrwxr-xr-x 1 ykessler wheel 71 Nov 14 2011
/usr/local/bin/python-32 ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python-32
lrwxr-xr-x 1 ykessler wheel 75 Nov 14 2011
/usr/local/bin/python-config ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python-config
lrwxr-xr-x 1 ykessler wheel 71 Nov 14 2011
/usr/local/bin/python2.7 ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
lrwxr-xr-x 1 ykessler wheel 74 Nov 14 2011
/usr/local/bin/python2.7-32 ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-32
lrwxr-xr-x 1 ykessler wheel 78 Nov 14 2011
/usr/local/bin/python2.7-config ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
lrwxr-xr-x 1 ykessler wheel 69 Nov 14 2011 /usr/local/bin/pythonw
-> ../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw
lrwxr-xr-x 1 ykessler wheel 72 Nov 14 2011
/usr/local/bin/pythonw-32 ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw-32
lrwxr-xr-x 1 ykessler wheel 72 Nov 14 2011
/usr/local/bin/pythonw2.7 ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7
lrwxr-xr-x 1 ykessler wheel 75 Nov 14 2011
/usr/local/bin/pythonw2.7-32 ->
../../../Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7-32

看起来我的用户环境指向 2.7,但根环境指向 2.6?如何协调这两者?

<小时/>

更新2:

好的,只需将螺丝再转动一 pip :

$ 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 但 sudo pip --version指向 2.7 pip ,虽然我的本地用户指向 2.7 但 pip --version指向 2.6 pip

???我的脑子开始炸了。

现在我刚刚做了sudo pip install {module}它在 2.7 中安装正确,但我希望我知道发生了什么......

<小时/>

更新 3:回答 Ned 的问题:

$ 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

最佳答案

在我的系统上,我有几个 easy_installs:

$ 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

以及几个 pip :

$ 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。在我看来,你有两个选择:

  1. 您可以通过 Apple 设置来切换系统 Python 版本:$ defaults write com.apple.versioner.python Version 2.7$ export VERSIONER_PYTHON_VERSION=2.7。 (有关您的特定 OSX 版本的更多详细信息,请参阅 man python。)
  2. 您可以使用 pip python 特定版本。 (例如:pip-2.7)

关于python - pip 版本 hell ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12715772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com