pythonアプリケーションにpipとvirtualenvを使用しています。依存関係を変更することなく、アプリケーションの新しいバージョンにアップグレードしたいと思います。pip install -U
、すべてのパッケージのアップグレードを試み、新しいバージョンが利用できない場合は、同じバージョンの依存関係パッケージをアンインストールして再インストールします。
私も試しましたpip install -U --no-deps
ですが、アップグレードではなく通常のインストールと同じように見えます。私がしたいことをするフラグの組み合わせはありますか?
私はvirtualenvプロジェクトとpip install -U --no-deps mypackage
は問題なく動作するようです。 mypackageのみをダウンロードし、それ以外は何もしません。あなたのセットアップはどのようなものですか?
概要:
pip install
(-U
なし)pip install --upgrade --upgrade-strategy only-if-needed
(新しいバージョンのデフォルト)pip install --upgrade --upgrade-strategy eager
(古いバージョンのデフォルト)[〜#〜] update [〜#〜](@Jetherのコメントのおかげで):最新バージョンのpipを使用している場合、必要な場合にのみ依存関係を更新すると、デフォルトの動作になります。特別なことをする必要はありません。以下の答えは、古いバージョンのpipの手順の概要です(移植したい場合は、新しいバージョンでも動作します)。
あなたが本当に依存関係に触れたくない場合は、実際に行く方法は
pip install -U --no-deps mypackage
しかし、私はあなたが通常望むことは、必要でない限り依存関係をアップグレードしないことだと思います。その場合、以下を使用できます。
pip install --upgrade --upgrade-strategy only-if-needed mypackage
これは、パッケージがインストールされているよりも新しいバージョンを必要とする場合にのみ要件を更新します。
あなたが正しい。 --no-deps
既存のバージョンのアンインストールを怠っていました。しかし、もう一度試してみて、問題がないことを確認します。
$ pip install -U --no-deps myproj
Downloading/unpacking myproj
Downloading myproj-1.0-trunk.31072.tar.gz (43Kb): 43Kb downloaded
Running setup.py Egg_info for package myproj
Installing collected packages: myproj
Found existing installation: myproj 1.0-trunk.31053
Uninstalling myproj:
Successfully uninstalled myproj
Running setup.py install for myproj
Successfully installed myproj
Cleaning up...