たとえば、 と がpkg1
必要なをインストールした可能性がpkg2
ありpkg3
ます。私がインストールした他のパッケージは、これら 2 つを必要としません。それで、中または後にpip uninstall pkg1
、どうすればpipをアンインストールできpkg2
ますpkg3
か?
質問する
261 次
3 に答える
1
これを行うための簡単な組み込みコマンドや pip のフラグはありませんが、pkg1 をアンインストールする前に、依存関係を特定できます。
$ pip show pkg1 | grep Requires
少しの bash fu を使用して、パッケージ要件の概要をすばやく取得できます。
$ for P in $(pip list | awk '{print $1}') ; do echo -n $P::' '; pip show $P | grep Requires ; done
次に、最初のコマンドで表示されるパッケージ (pkg2 および pkg3) のいずれかについて、それらが 2 番目のコマンドで他のパッケージの依存関係として表示されない場合は、pip uninstall
それらも明示的に指定できます。
他のパッケージの依存関係ではないすべてのパッケージを見つけることもできます。
$ cat <(pip show $(pip list | awk '{print $1}') | grep Requires | sed -e s/Requires:// -e s/,//g | xargs -n 1) <(pip list | awk '{print $1}') | sort | uniq -u
于 2013-10-31T05:51:46.330 に答える
0
私はピップがこれを行うことができるとは思わない。
virtualenv にいる場合は、それを削除して新しいものに再インストールするだけです。
システムにいる場合は、pip ではなくディストリビューション パッケージ マネージャーを使用する必要があります。
于 2013-10-31T04:48:12.187 に答える
0
pip は他のパッケージが何に依存しているかを認識しないため、これを手動で行う必要がpkg2
ありpkg3
ます。
これを行う最善の方法は、仮想環境を使用することです。これにより、Python パッケージをシステム (ベース) Python から分離できます。
于 2013-10-31T04:51:48.193 に答える