6 pythonパッケージの最新バージョンをインストールしようとしていますが、次の問題があります。macOSX 10.10.2で6つの1.4.1を取り除くことができません
Sudo pip install six --upgrade
Requirement already up-to-date: six in /Library/Python/2.7/site-packages
Cleaning up...
pip search six
six - Python 2 and 3 compatibility utilities
INSTALLED: 1.9.0 (latest)
python -c "import six; print six.version"
1.4.1
which -a python
/usr/bin/python
which -a pip
/usr/local/bin/pip
ここで何が間違っていますか? 6をアップグレードできません!
Mac OS Xのデフォルトpythonはフレームワークとしてインストールされます。フレームワークディレクトリの下には、 'Extras'ディレクトリがあり、six
パッケージが既に配置されています。
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.py
説明によると( https://github.com/MacPython/wiki/wiki/Which-Python )、モジュール検索パスの/System/Library/Frameworks/Python.framework/Versions/2.7/Extras
の前に/Library/Python/2.7/site-packages
がリストされます。これは、/System/Library/Frameworks/Python.framework/Versions/2.7/Extras
にすべてのパッケージが既に存在することを意味します。アップグレードできません。
たぶん、pythonを手動でインストールし、デフォルトのpythonを使用しないでください。
次の方法で問題を解決しました。
python setup.py install
これは、6の新しいバージョンを/ Library/Python/2.7/site-packages /の前に検索するためにインストールされるためです/ System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python /
私にとっては、 homebrew を使用するだけですべてが修正されました。
brew install python
pip
バイナリは/usr/local/bin/python
に属しますが、python
は/usr/bin/python
を指します。結果として
pip install --upgrade six
/usr/local/bin/python
にインストールされます。
以下のコマンドは、正しいバージョンのpipが使用されていることを確認します。
python -m pip install --upgrade six
私のために働いたのは、easy_install
の代わりにpip
。
easy_install -U six
Easy_installは、pipが失敗してもパッケージをアップグレードできました。
Pipを使用してopenstackクライアントをインストールするときに、この問題に出くわしました。私の修正は、/Library/Python/2.7/site-packages/
の代わりに/System/Library/Frameworks/Python.framework/Versions/2.7/Extras
を使用してモジュールをインストールするため、pipの代わりにeasy_installを使用することでした。この回避策が選択肢にならない場合は、@ Masakazu MatsushitaがPYTHONPATH
を/Library/Python/2.7/site-packages
に設定する正しい回避策を持っていることを確認できます。その回避策を実装するには、次の行を追加します。
export PYTHON_PATH=/Library/Python/2.7/site-packages
~/.bashrc
および~/.profile
(GUI Pythonインストールしようとしているアプリケーション)の場合).
Pip2を試してくださいpip2 install -U six
これらの手順を試してください
再インストールpython brewを使用
$ brew install python
不足しているシンボリックリンクの問題を解決する
$ brew link --overwrite python
システムを再起動するか実行する
$ hash -r python
上記のソリューションのいずれかがあなたのために働くかもしれませんが、私は何が起こっているのか、あなたが持っているオプションは何かを理解することが重要だと思います。 this (やや長めの)説明が非常に役立つことがわかりました。オプションの概要から始めて、解決策を提案するだけです。
結局、私にとっての問題は、IPython Shellを使用していたことです。
which ipython
戻ってきた /usr/local/bin/ipython
および検査時に、このファイルは先頭で宣言されます#!/usr/bin/python
は、正しいpythonロケーションを使用するための最善の努力をすべて回避しているように見えました。
この行を変更するだけで#!/usr/local/bin/python
は正しいpythonバージョンを指すため、IPythonは正しいsix
モジュールを使用することを意味しました。