2016-03-30 8 views
1

os xのpipに奇妙な問題があります。間違ったバージョンのPythonを使用して突然ピックします

私が思い出す限り(私の.bash_historyを確認しているようです)私は自分の設定を最近変更していません。ああ、pipコマンドは突然以前とは違ったPythonのバージョンを使用しているようです。今まで私はpython2ライブラリを管理するためにpipコマンドを使い、python3ライブラリで管理するためにpip3を使っていました。突然、pipのインストールを実行しようとすると、print文の前後に括弧がないなどのエラーで失敗します。ピップコマンドがPyPi2データベースからではなく、今のpython3で実行されているように思われる、いくつかの理由でそう

which pip > /usr/local/bin/pip 

which pip3 > /usr/local/bin/pip3 

which python > /usr/local/bin/python 

python version > Python 2.7.11 

pip --version > pip 8.1.1 from /usr/local/lib/python3.5/site-packages (python 3.5) 

:ここ

は、私は問題を把握しようとしたいくつかのコマンドの結果ですか?任意のアイデアをどのようにこれを修正するには?

+0

万が一別のプログラム(インストールスクリプトのような)が '.bashrc'またはpip3にリンクされたpipに何か前もってペンディングされていますか? – ChrisP

+0

実行中のOSXのバージョンは何ですか?あなたはどこからそのPythonを手に入れましたか?ホームブリュ?あなたは何かを更新していないと確信していますか? – daveydave400

+0

これは可能ですが、私の.bash_profileには何も表示されません.bashrcはありません。 OS Xのバージョンは10.11.4 – jcmiller11

答えて

2

が、これはあなたの問題を解決した場合、あなたはbashのプロファイルにエイリアスを追加する必要が

alias pip="/usr/local/bin/pip" 
alias pip2="/usr/local/bin/pip" 
alias pip3="/usr/local/bin/pip3" 

、ターミナルで以下のコマンドを実行して、エイリアスを設定してください。 詳細はHow do I create a Bash alias?をご覧ください。

また、あなたがピップの実行可能ファイルを開きpython2 get-pip.pypython3 get-pip.py第1およびget-pip.pyがここhttps://bootstrap.pypa.io/get-pip.py

+0

彼らの問題は '/ usr/local/bin/pip'がpip3にリンクされているので、あなたの解決策はうまくいかないと思います。 – daveydave400

+0

答えの2番目の部分に示唆されているように、彼はpipを再インストールする必要があります。 –

+0

pipを再インストールすると、pipを使ってインストールしたすべてのライブラリを再インストールする必要がありますか? – jcmiller11

0

をダウンロードすることができます使用してピップを再インストールする必要があります。

vi /usr/local/bin/pip 

あなたがでシェバング行うトップは間違ったPythonを指しているかもしれません(私もそれもありました)。あなたがしたいのPythonへ

ポイント:

#!/usr/local/bin/python2.7 
4

は、私は同様に、複数のバージョンのPythonので、複数のピップのバージョンで実行します。

ただし、pipを更新すると、標準のpipコマンドが更新したバージョンに置き換えられます。だからpip3 install --upgrade pipでも、/usr/local/bin/pipをあなたのシステムに入れて、Python 2バージョンを台無しにします。

代わりに、私は(実行ファイル)モジュールとしてPIP実行します。

python3 -m pip search <package> 

または

python2 -m pip search <package> 

あるいは

python3.5 -m pip search <package> 

これはあなたのpipバージョンは常にPythonのと一致していることを保証あなたがそれを使用したいバージョン。タイプするのにはもう少し時間がかかりますが、私はそれを明示することを好みます(PythonのZenに従う)。

python3.5 -m pip install --upgrade pip 

はまだ /usr/local/bin/pipでのPython 3.5バージョンをインストールしますが、私は単にそれを無視しています:更新ピップは

注意。pipを直接実行する(シェル)スクリプトに気を付けてください。

関連する問題