98

パッケージの新しいバージョンを PyPi (1.2.1.0-r4) にアップロードしました。egg ファイルをダウンロードして easy_install でインストールすると、バージョンが正しくチェックアウトされます。しかし、pip を使用してインストールしようとすると、代わりにバージョン 1.1.0.0 がインストールされます。でピップするバージョンを明示的に指定しても、次のpip install -Iv tome==1.2.1.0-r4メッセージが表示されます:Requested tome==1.2.1.0-r4, but installing version 1.1.0.0が、理由がわかりません。

parse_version次のように、1.2.1 のバージョン文字列が 1.1.0 のバージョン文字列よりも大きいことを再確認しました。

>>> from pkg_resources import parse_version as pv
>>> pv('1.1.0.0') < pv('1.2.1.0-r4')
True
>>>

では、代わりに 1.1.0 をインストールすることを選択した理由は何ですか?

4

14 に答える 14

104

これは素晴らしい質問です。理解するのに永遠にかかりました。これは私のために働く解決策です:

どうやら、pipパッケージのローカル バージョンを見つけることができればpip、リモート バージョンよりもローカル バージョンを優先するようです。コンピューターをインターネットから切断して、もう一度試してみましpipた.パッケージが正常にインストールされ、文句さえ言わなかったとき、ソースは明らかにローカルでした.

私の場合、本当に紛らわしい部分は、pypipipで新しいバージョンを見つけて報告し、とにかく古いバージョンを再インストールしたことです... arggh. また、それが何をしているのか、そしてその理由についても教えてくれませんでした。

では、この問題をどのように解決したのでしょうか。

pipフラグを使用して詳細な出力を得ることができます-v... しかし、1 つでは十分ではありません。-vより詳細な出力を得るために、最大 3 回まで複数回実行できるというヘルプをRTFM しました。だから私はした:

pip install -vvv <my_package>

次に、出力を調べました。1行が私の目を引きました:

/tmp/pip-build-root/ のソースのバージョンは 0.0.11 で、要件 <my_package> を満たしています。

そのディレクトリを削除した後pip、pypi から最新バージョンをインストールしました。

于 2013-06-17T18:09:27.747 に答える
25

pip のメンテナーとして素晴らしい仕事をしているMarcus Smithのおかげで、これは 2013-07-23 にリリースされた pip のバージョン 1.4 で修正されました。

このバージョンの変更ログからの関連情報

クリーンアップとビルド ディレクトリの再利用に関連する多くの問題 (#413、#709、#634、#602、および #939) を修正しました。(引き #865, #948)

于 2013-08-07T14:22:25.823 に答える
17

アンパックされたソースを含むビルド ディレクトリがある場合、バージョンをチェックしないという既知のバグが pip にあることがわかりました。問題のあるパッケージでこれを確認し、ビルドディレクトリ pip からソースを削除した後、必要なバージョンをインストールしました。

于 2013-03-03T19:25:42.913 に答える
11

pip一部の配布パッケージに付属するバージョン (例: Ubuntu python-pip) を使用している場合は、新しいpipバージョンをインストールする必要がある場合があります。

pip最新バージョンへの更新:

sudo pip install -U pip

「virtualenv」の場合、「sudo」をスキップします。

pip install -U pip

更新-bash: /usr/bin/pip: No such file or directory後にシェルが次のように報告する場合、次のコマンドが必要になる場合があります。pip

hash -d pip

通常どおりパッケージをインストールします。

pip install -U foo

また

pip install foo==package.version.here
于 2014-02-25T12:16:29.883 に答える
6

pika 0.9.5 を 0.9.8 に更新するために同じ問題が発生しました。唯一の有効な方法は、tarball からインストールすることでした: pip install https://pypi.python.org/packages/source/p/pika/pika-0.9.8.tar.gz.

于 2013-02-22T16:40:24.620 に答える
0

私は PyCharm の Git タブの下にバージョン管理されていないファイルを隠していましたが、pip install .他の場所にはファイルが表示されていませんでした。

私がそれを見つけるのに長い時間がかかり、他の誰かの助けになることを願ってこれを投稿しました.

于 2020-06-11T19:48:43.313 に答える
0

私の場合、Artifactory から .tar.gz パッケージを pip インストールして、多くの更新を行います。キャッシュされたPythonファイルを上書きし、常に最新のものを取得/インストールするために、実行できました:

pip install --no-cache-dir --force-reinstall <path/to/tar.gz>

ローカル キャッシュを使用する代わりに、必要なファイルを再ダウンロードしてインストールする必要があります。

于 2019-11-15T15:36:26.957 に答える