何が問題なのかわかりませんが、スタックオーバーフローによる解決策がどこにも見られないという問題があります。これを手伝ってください。
Monas-MacBook-Pro:CS764 mona$ Sudo python get-pip.py
The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
/tmp/tmpbSjX8k/pip.Zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
Collecting pip
Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB)
100% |████████████████████████████████| 1.1MB 181kB/s
Installing collected packages: pip
Found existing installation: pip 1.4.1
Uninstalling pip-1.4.1:
Successfully uninstalled pip-1.4.1
Successfully installed pip-7.1.0
Monas-MacBook-Pro:CS764 mona$ pip --version
-bash: /usr/local/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory
私はOS X 10.10に2.7をインストールするために自作を使用していましたが、新しいインストールにはsymリンクがありませんでした。私は走った
brew link --overwrite python
Homebrewでpythonをシンボリックするにはどうすればいいですか? で述べたように、それは問題を解決しました。
私はあなたには2つのpythonインストール、または2つのpipインストールがあり、そのうちの1つは部分的に削除されていると思います。
なぜSudo
を使うのですか?理想的にはrootを使う代わりにあなたのユーザーアカウントから全てをインストールして実行できるべきです。 rootアカウントとローカルアカウントを混在させると、アクセス権の問題に遭遇する可能性が高くなります(たとえば、「親ディレクトリは現在のユーザーが所有していない」という警告を参照)。
これを実行するとどうなりますか?
$ head -n1 /usr/local/bin/pip
これはどのPythonバイナリpip
が使用しようとしているかを示します。それが/usr/local/opt/python/bin/python2.7
を指しているなら、これを実行してみてください。
$ ls -al /usr/local/opt/python/bin/python2.7
これが「そのようなファイルまたはディレクトリがありません」と言う場合、pipは削除されたpythonバイナリを使用しようとしています。
次に、これを試してください:
$ which python
$ which python2.7
実際に動作しているPythonバイナリのパスを確認する。
Pipがどこかに正常にインストールされたように見えるので、/usr/local/bin/pip
はPATH
の上位にある古いpipのインストールの一部である可能性があります。これをテストするには、機能していないpip
バイナリをこのように邪魔にならないようにします(Sudo
が必要になる場合があります)。
$ mv /usr/local/bin/pip /usr/local/bin/pip.old
その後、pip --version
コマンドをもう一度実行してください。うまくいけば、それは正しいバージョンを拾い上げて、うまく実行されます。
OSXとその変種で唯一のソリューション。
ln -s /usr/local/bin/python /usr/local/opt/python/bin/python2.7
インストールにSudoを使用して同じエラーをしました。 (おっとっと)
brew install python
brew linkapps python
brew link --overwrite python
これですべてが正常に戻りました。
このエラーの場合:
~/Library/Python/2.7/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
この問題の原因は、pipでハードコードされた不正なpythonパスです(つまり、$ PATHを変更しても修正されません)。そのパスは最新バージョンのpipではもはやハードコードされていないので、動作するべき解決策は:
pip install --upgrade pip
しかし、もちろん、このコマンドはpipを使用しているので、同じエラーで失敗します。
この混乱から自分自身をブートストラップする方法:
which pip
を実行する#!/usr/local/opt/python/bin/python2.7
から例: #!/usr/local/opt/python2/bin/python2.7
(パスの中のpython2に注意してください)、またはあなたのマシン上で動いているpythonインタプリタへのパス。pip install --upgrade pip
(これはあなたのハックを上書きして、インタプリタの問題が修正されるべきである最新バージョンでpipが動くようにします)私にとって、私は最初にvirtualenvからの同じ問題を抱えることによってこの問題を見つけました:
~/Library/Python/2.7/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
ここでの解決策は実行することです
pip uninstall virtualenv
pip install virtualenv
そのコマンドを実行してもpipから同じエラーが発生する場合は、上記を参照してください。
私は同様の問題を抱えていました。基本的にpipは間違ったパス(古いインストールパス)またはpythonを探していました。次の解決策は私のために働きました:
which python
を試してみてください)/usr/local/bin/pip2.7
と/usr/local/bin/pip
)をチェックしました。その行はpythonのパスへの正しいパスを記述するべきです。私の場合は違います。私はそれを修正しましたそして今それはうまく働きます。それが誰にでも役立つ場合、pipがそれをアップグレードした後に今日働かなくなったとき、この他の質問で述べられた解決策は私のために働きました: アップグレード後に壊れたPip
以前にキャッシュされた場所が変更されたときに問題になると思われるので、このコマンドでキャッシュを更新することができます。
hash -r
操作を簡単にするために、下記のコマンドを使用してバージョン2を再インストールすることができます。
brew install python@2
それから私のMacでは、それは以下のようになります。
▶ python -V
Python 2.7.10
▶ python2 -V
Python 2.7.14
▶ python3 -V
Python 3.6.5
▶ pip2 -V
pip 9.0.3 from /usr/local/lib/python2.7/site-packages (python 2.7)
▶ pip3 -V
pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6)
▶ pip --version
pip 9.0.3 from /usr/local/lib/python2.7/site-packages (python 2.7)
私はpython 2と3の両方をMac OSXにインストールしていたので、私はあらゆる種類のエラーを抱えていました。
私はこれを使って私のpython2.7ファイルの場所を見つけました(/usr/local/bin/python2.7)。
which python2.7
それから私は私の本当のpython2.7インストール場所をスクリプトが期待するものとシンボリックリンクさせました:
ln -s /usr/local/bin/python2.7 /usr/local/opt/python/bin/python2.7
私は同じ問題を抱えていました。私はPython 2.7と3.6の両方をインストールしています。 Python 2.7ではvirtualenv
が動作していましたが、Python 3をインストールした後、virtualenvはバージョン2.7を探し続け、それを見つけることができませんでした。 pip install virtualenv
を実行すると、Python 3バージョンのvirtualenvがインストールされました。
それから、各コマンドに対して、私がPython2を使いたいのであれば、私はvirtualenv --python=python2.7 somecommand
を使います。
私は同じ問題を抱えていた、virtualenvは古いpythonのパスを指していました。パスを修正することで問題が解決しました。
$ virtualenv -p python2.7 env
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory
$ which python2.7
/opt/local/bin/python2.7
# needed to change to correct python path
$ head /usr/local/bin/virtualenv
#!/usr/local/opt/python/bin/python2.7 <<<< REMOVED THIS LINE
#!/opt/local/bin/python2.7 <<<<< REPLACED WITH CORRECT PATH
# now it works:
$ virtualenv -p python2.7 env
Running virtualenv with interpreter /opt/local/bin/python2.7
New python executable in env/bin/python
Installing setuptools, pip...done.
私は同じ問題を抱えています。 brew link --overwrite python2
を実行した場合まだzsh: /usr/local/bin//fab: bad interpreter: /usr/local/opt/python/bin/python2.7: no such file or directory
がありました。
cd /usr/local/opt/
mv python2 python
それを解決しました!今度はpython2バージョンのファブリックを使用できます。
=== 2018/07/25更新
あなたのos pythonがpython3にリンクしているときにpython2 version fabを使う便利な方法があります。あなたのコマンドの.sh
。
# fab python2
cd /usr/local/opt
rm python
ln -s python2 python
# use the fab cli
...
# link to python3
cd /usr/local/opt
rm python
ln -s python3 python
お役に立てれば。
このファイルの最初の行を編集して私にはうまくいきました:
MBP-de-Jose:~ josejunior$ which python3
/usr/local/Cellar/python/3.7.3/bin/python3
MBP-de-Jose:~ josejunior$
前
#!/usr/local/opt/python/bin/python3.7
後に
#!/usr/local/Cellar/python/3.7.3/bin/python3
私の場合は、MacPortsを通して他の2つのバージョンのpythonがすでにMacにインストールされているので、私は自分のMacから自作のpythonインストールを削除することにしました。これはエラーメッセージを引き起こしました。
Brewを通してpythonを再インストールすることで私の問題は解決しました。
Sudo /usr/bin/easy_install pip
このコマンドは私のためにうまくいきました