Python の easy_install でインストールされたパッケージを削除するにはどうすればよいですか?
-
22-07-2019 - |
質問
パイソンの easy_install
新しいパッケージのインストールが非常に便利になります。ただし、私の知る限り、依存関係マネージャーの他の一般的な機能 (インストールされたパッケージの一覧表示と削除) は実装されていません。
何がインストールされているかを確認する最良の方法は何ですか?また、インストールされたパッケージを削除する推奨される方法は何ですか?パッケージを手動で削除した場合に更新する必要があるファイルはありますか (例:による rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg
または類似)?
他のヒント
.egg
をアンインストールするには、egg(ディレクトリである可能性があります)を rm -rf
し、 site-packages /から一致する行を削除する必要がありますeasy-install.pth
まず、このコマンドを実行する必要があります:
$ easy_install -m [PACKAGE]
パッケージのすべての依存関係を削除します。
次に、そのパッケージのeggファイルを削除します:
$ sudo rm -rf /usr/local/lib/python2.X/site-packages/[PACKAGE].egg
すべての情報は他の回答にありますが、あなたのリクエストを両方要約していないか、不必要に複雑になっているようです:
-
削除する必要がある場合:
pip uninstall <package>
(
easy_install pip
を使用してインストール) -
「インストール済みパッケージのリスト」には、次のいずれかを使用する必要があります:
pip freeze
または:
yolk -l
パッケージの詳細を出力できます。
(
easy_install yolk
またはpip install yolk
でインストール)
問題があなたにとって深刻な十分な迷惑である場合、 virtualenv を検討するかもしれません。 Pythonライブラリをカプセル化する環境を作成できます。グローバルなsite-packagesディレクトリではなく、そこにパッケージをインストールします。その環境で実行するスクリプトは、それらのパッケージ(およびオプションで、グローバルパッケージ)にもアクセスできます。グローバルにインストールする必要があるかどうかがわからないパッケージを評価するときに、これを頻繁に使用します。パッケージが必要ないと判断した場合、その仮想環境を吹き飛ばすだけで十分です。使い方はとても簡単です。新しいenvを作成します:
<*>gt;ENV/bin/easy_install
gt;virtualenv /path/to/your/new/ENV
virtual_envtは、新しい環境にセットアップツールをインストールするため、次のことができます。
<*>新しい環境をセットアップする独自のboostrapスクリプトを作成することもできます。したがって、1つのコマンドで、たとえばpython 2.6、psycopg2、djangoがデフォルトでインストールされた新しい仮想envを作成できます(必要に応じてenv固有バージョンのpythonをインストールできます)。
Official(?)の手順: http://peak.telecommunity.com/DevCenter/ EasyInstall#uninstalling-packages
パッケージを別のバージョンに置き換えた場合、PackageName-versioninfo.eggファイルまたはディレクトリ(インストールディレクトリにあります)を削除することで、不要なパッケージを削除できます。
現在インストールされているパッケージのバージョン(またはパッケージのすべてのバージョン)を削除する場合は、最初に実行する必要があります:
easy_install -mxN PackageName
これにより、Pythonが削除しようとしているパッケージを検索し続けることがなくなります。これが完了したら、.eggファイルまたはディレクトリを、削除するスクリプトとともに安全に削除できます。
試用
$ easy_install -m [PACKAGE]
then
$ rm -rf .../python2.X/site-packages/[PACKAGE].egg
インストールされている Python パッケージを一覧表示するには、次を使用できます yolk -l
. 。を使用する必要があります easy_install yolk
まず最初に。
時間の経過とともにインストールされた多くのランダムなPythonパッケージをアンインストールしようとしながら、この質問に出くわしました。
このスレッドからの情報を使用して、これが私が思いついたものです:
cat package_list | xargs -n1 sudo pip uninstall -y
package_list
は、virtualenvの pip freeze
からクリーンアップ(awk)されます。
すべてのPythonパッケージをほぼ削除するには:
yolk -l | cut -f 1 -d " " | grep -v "setuptools|pip|ETC.." | xargs -n1 pip uninstall -y
MacOS X Leopard 10.6.blahで同じ問題に遭遇しました。
解決策は、MacPorts Pythonを呼び出していることを確認することです:
sudo port install python26
sudo port install python_select
sudo python_select python26
sudo port install py26-mysql
これがお役に立てば幸いです。
このファイルを削除するのは私だけ:easy-install.pth 働いた、残りのピップインストールdjango == 1.3.7
これは私のために働いた。以前の回答と似ていますが、パッケージへのパスが異なります。
- sudo easy_install -m
- sudo rm -rf /Library/Python/2.7/site-packages/.egg
プラットフォーム:MacOS High Sierraバージョン10.13.3