2

これを行う方法があるはずだと思いますが、私の人生では、その方法を理解できません。virtualenvの要件ファイルに対してpipを実行して、以前にvirtualenvにあるパッケージに関係なく、 pipを実行すると、実行後に要件ファイルが完全に満たされます(特定のバージョンを含む)。

問題は、virtualenvにインストールされているパッケージのバージョンが要件ファイルにリストされているものよりも古い場合、バージョンの不一致について文句を言って終了することです(パッケージを指定されたバージョンに更新するだけです)私が実行しているコマンドはpip install -I -r requirements.txt、pipの助けによると、-pipを「インストールされたパッケージを無視する(代わりに再インストールする)」にすることになっていますが、それは間違いなく実行されていません。

私は何が欠けていますか?

(pipがすでに実行されているパッケージもスキップした場合は便利です。)

4

1 に答える 1

4

私は自分のピップの問題の原因が何であるかを理解しました。簡単に言うと、virtualenvのビルドディレクトリに残っているソースが原因でエラーが発生し、パッケージのアップグレードが失敗していました。私が実際にやるべきだったのは、pip installを実行する前にそのディレクトリ(pipが常に推測するとは限らない)をクリアすることでした。-upgrade/ -Uフラグと組み合わせると、必要なすべてが実行されるようです。

于 2010-12-13T00:28:55.783 に答える