2013-01-12 12 views
68

pip installのバリエーションパッケージ(PyObjCastropyを含む)を入力すると、私は突然エラーerror: option --single-version-externally-managed not recognizedに遭遇したようです。以前はこのエラーは見たことがありませんでしたが、変更されていないtravis-ciビルドにも表示されています。"error:オプション--single-version-external-managedが認識されません"とは何ですか?

このエラーは古くなったことを示していますか?またはsetup.pyのオプションを誤って指定しましたか?それとも全く別のもの?

答えて

31

新しいアップデート:setuptoolsの最新バージョンをインストールし

。引き続きエラーが発生する場合は、wheelもインストールしてください。

pip install -U setuptools 
pip install -U wheel 

オリジナル回答/詳細:

--single-version-externally-managedがあれば簡単にホストのパッケージマネージャで管理できるPythonパッケージを作成するために、setuptoolsのモジュールを指示するPythonパッケージに使用オプションですYumやAptのように必要です。

このメッセージが表示される場合は、古いバージョンのsetuptoolsまたはPythonがある可能性があります。 setuptoolsの新しいバージョンで、下位互換性のあるDistributeを使用してみてください。これらのパッケージはあなたがすでにそれを持っていることを期待するかもしれません。

https://pypi.python.org/pypi/distribute

編集:この時点で、配布はメインsetuptoolsプロジェクトにマージされました。 setuptoolsの最新バージョンをインストールするだけです。 @wynemoが示すように、代わりに​​オプションを使用することをお勧めします。配布するシステムパッケージを作成しない手動インストールを行う人に適しているからです。

+1

あなたはに現れたどのバージョンを追加することはできますか?私はsetuptools 0.6を使っていますし、pipは新しいバージョンについて知りません。 'distribute'は正しく聞こえますが、私はそれをインポートできません。 – keflavich

+0

あなたは' distribute'をインポートしません。 Distributeはドロップイン置換であり、同じモジュール名を持ちます。それにも 'import setuptools'が必要です。 – Kelketek

+0

それでは、setuptoolsが両方ともインストールされている場合は、distributeを無効にしていないことを確認してください。 pipと一緒に配布し、setuptoolsを削除する必要があります。私はそれがうまくいくと思います。 – Kelketek

132

私は私は1つのpythonパッケージをアップグレードしようとする場合にも、私は私のMacBook上でこの問題を持っているpipバージョン1.4.1

+9

それは実際に助けられた唯一の解決策でした。最近のpipとsetuptoolsはすでにインストールされていましたが、私はこのエラーを抱えています。 – Michael

+0

私はpyenvでこの問題を抱えていましたが、これが修正されました。 – glaucon

+9

誰かがこのオプションが何を意味しているのかを詳しく説明することができますか? 「DEPRECATION:--eggが廃止され、将来的に削除されます。このフラグはピップの大部分と相互に排他的であり、実際、それはピップの能力を無効に使用して。これは私のために働いている間 –

0

を使用​​オプション

pip install --egg SCons 

を追加します。 OS Xのピップバージョンをチェックしましたが、これは古すぎます:1.1。 は、私は、このエラーが固定されている1.5.6

easy_install -U pip 

にピップをアップグレードするためにフォローcmdを使用しています。私はこの問題を抱えていた

pip install wheel 
+0

は、私もあなたが好きなら、何の問題を編集していない状態に戻すことができ – Cerin

6

は、このようなsetuptoolsのをアップグレードしてみてください。それは私のピップキャッシュ上のファイルのアクセス許可に問題があることが判明した。

あなたは

The directory '/home/ubuntu/.cache/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 '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 

のようなあなたのピップ出力の先頭にメッセージが表示された場合は、同じ問題を抱えているかもしれません。あなたはどちらかあなたは自分のやるあなたがピップのキャッシュ(chown -R $(whoami) /home/ubuntu/.cache/pipのようなもの)上の適切なファイルのアクセス権を持っているか、あなたがUNIXを使っているのであれば、あなたはいくつかのフォルダにXDG_CACHE_HOMEのenv VARとピップキャッシュの場所を設定することを確実にすることで、それを解決することができます。

37

+0

バージョン1.5.6 ...と、このエラーが発生します。修正された 'pip'と' wheel'の正確なバージョンを知っていれば、それが再び壊れる場合にそれを言及する価値があります。また、答えはとにかく何が起こっているのか説明していません。 –

+1

これも私のために働いた(私もpip 8.1.2を持っていた)。 @sparrowtから –

+0

このプラスの答えは –

3

:最近pipwheel解決この問題を(私は8.1.2を使用)のインストール

pip install --upgrade setuptools

+0

驚くべきことに、それは(あなたがパッケージをインストールするには、 'sudo'を使用している場合、' -H'フラグを追加してください)あまりにも私のために働いたのピップ私のために働きました!私は本当に接続がキャッシュとコマンドオプションのエラーの間に何かを見ていないが、決して気にしない。 – Delgan

関連する問題