1

基本的に、Python 2.7 on System、PIP、および Virtualenv でまだ 2.6 を使用しているのとまったく同じ状況
です - 2.7 を使用するように切り替えるにはどうすればよいですか

つまり、私の Mac はデフォルトで Python 2.7 を使用していますが、Pip は 2.6 にインストールしています。

Ned Deily の回答に従い、デフォルトの 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つをどのように調整しますか?


更新 2:

OK、ネジをもう少し回すだけです。

$ 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指していますが、pip 2.7を指していますが、ローカルユーザーは2.7を指していますがpip --version、pip 2.6を指しています

??? 私の脳は揚げ始めています。

2.7で正しくインストールされましsudo pip install {module}たが、何が起こっているのか知りたいです...


更新 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  
4

2 に答える 2

1

私のシステムには、いくつかの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

いくつかのピップと同様に:

$ 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を指しています。私が見ているように、2つのオプションがあります。

  1. Appleの設定を使用して、システムのPythonバージョンを切り替えることができます:$ defaults write com.apple.versioner.python Version 2.7または$ export VERSIONER_PYTHON_VERSION=2.7。(man pythonOSXの特定のバージョンの詳細についてはを参照してください。)
  2. pippython固有のバージョンを使用できます。(例pip-2.7:)
于 2012-10-03T20:42:53.337 に答える
1

$ PATHの問題または権限の問題、あるいはその両方が発生している可能性があります。これを試して:

type pip
echo $PATH
which pip
ls -l $(which pip)
sudo bash
type pip
echo $PATH
ls -l $(which pip)

更新:両方の下で試すべきもう1つのこと:

env | grep PYTHON
sudo bash
env | grep PYTHON

次に、site-packagesディレクトリの内容を確認します。

cd /Library/Frameworks/Python.framework/Versions/2.7
cd ./lib/python2.7/site-packages/
ls -al
more setuptools.pth

また:

more $(which pip)
python2.7 -c 'import sys, pprint; pprint.pprint(sys.path)'
sudo python2.7 -c 'import sys, pprint; pprint.pprint(sys.path)'
于 2012-10-03T20:59:08.187 に答える