web-dev-qa-db-ja.com

Pythonのeasy_installでインストールされたパッケージを削除するにはどうすればいいですか?

Pythonのeasy_installは新しいパッケージのインストールを非常に便利にします。しかし、私が言うことができる限り、依存関係マネージャの他の一般的な機能、つまりインストール済みパッケージの一覧表示と削除は実装されていません。

何がインストールされているのかを知る最善の方法は何ですか?またインストールされているパッケージを削除するのに好ましい方法は何ですか?手動でパッケージを削除した場合(例えばrm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.Eggなどで)更新する必要があるファイルはありますか?

674
ire_and_curses

setuptools/easy_installの代わりの pip は "uninstall"コマンドを提供します。

インストール手順に従ってpipをインストールしてください

$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py

それからpip uninstallを使ってeasy_installでインストールされたパッケージを削除することができます。

609
lunaryorn

.Eggをアンインストールするには、(それはディレクトリかもしれません)卵をrm -rfし、site-packages/easy-install.pthから一致する行を削除する必要があります。

185
joeforker

最初にこのコマンドを実行しなければなりません:

$ easy_install -m [PACKAGE]

パッケージのすべての依存関係を削除します。

そのパッケージのEggファイルを削除します。

$ Sudo rm -rf /usr/local/lib/python2.X/site-packages/[PACKAGE].Egg
155
PythonDev

すべての情報は他の答えの中にありますが、どれも 両方 /あなたの要求を要約するものでも、物事を必要以上に複雑にするようにも思われます

  • あなたの除去のために使用する必要があります:

    pip uninstall <package>
    

    easy_install pipを使ってインストールします)

  • あなたの 'インストールされたパッケージのリスト'には、次のどちらかを使う必要があります。

    pip freeze
    

    または

    yolk -l
    

    より多くのパッケージの詳細を出力することができます。

    easy_install yolkまたはpip install yolk経由でインストールしてください)

55
Rabarberski

ネット上に いくつかの のソースがあり、-mオプションを付けてパッケージを再インストールし、lib /の.Eggファイルとbin /のバイナリを削除することによってハックを示唆しています。また、このsetuptoolsの問題に関する議論は、Pythonのバグ追跡システムでsetuptools issue 21 として見つけることができます。

編集:pythonバグトラッカーへのリンクを追加しました。

28
c089

問題があなたにとって深刻な問題である場合は、 virtualenv を検討してください。それはあなたがpythonライブラリをカプセル化する環境を作成することを可能にします。グローバルなsite-packagesディレクトリではなく、そこにパッケージをインストールします。その環境で実行するスクリプトはすべて、それらのパッケージ(およびオプションでグローバルパッケージも)にアクセスできます。私は私が私がグローバルにインストールすることを望んでいる/必要としているかどうかわからないパッケージを評価するときこれをよく使います。パッケージが必要ないと判断した場合は、その仮想環境を削除するだけで十分簡単です。使い方はとても簡単です。新しい環境を作る:

$>virtualenv /path/to/your/new/ENV

virtual_envtは新しい環境にsetuptoolsをインストールします。

$>ENV/bin/easy_install

あなたはあなたの新しい環境をセットアップするあなた自身のboostrapスクリプトを作成することさえできます。したがって、1つのコマンドで、デフォルトでpython 2.6、psycopg2、およびDjangoをインストールして、新しい仮想環境を作成できます(必要に応じて、env固有のバージョンのpythonをインストールできます)。

25
mazelife

公式の(?)指示: http://peak.telecommunity.com/DevCenter/EasyInstall#uninstalling-packages

パッケージを別のバージョンに置き換えた場合は、PackageName-versioninfo.Eggファイルまたはディレクトリ(インストールディレクトリにある)を削除することで、不要なパッケージを削除できます。

現在インストールされているバージョンのパッケージ(またはすべてのバージョンのパッケージ)を削除したい場合は、まず次のコマンドを実行してください。

easy_install -mxN PackageName

これにより、Pythonは削除しようとしているパッケージを検索し続けないようにします。これが終わったら、削除したいスクリプトとともに、.Eggファイルまたはディレクトリを安全に削除できます。

18
Mark Rajcok

やってみる

$ easy_install -m [PACKAGE]

それから

$ rm -rf .../python2.X/site-packages/[PACKAGE].Egg
15
Jim Geovedi

インストール済みのPythonパッケージを一覧表示するには、yolk -lを使用できます。最初にeasy_install yolkを使う必要があるでしょう。

7
Enis Afgan

長い間にインストールされたたくさんのランダムな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
6
m0hit

私はこのファイルだけを削除します。easy-install.pthが動作し、残りのpipはDjangoをインストールします== 1.3.7

3
Snehal Parmar

私は私の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

お役に立てれば。

3
Cmag

これは私のために働きました。これは以前の回答と似ていますが、パッケージへのパスが異なります。

  1. Sudo easy_install -m
  2. Sudo rm -rf /ライブラリ/ Python/2.7/site-packages/.Egg

フォーマット:MacOS High Sierraバージョン10.13.3

1
Red Rooster