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


704

Pythonの easy_installは、新しいパッケージのインストールを非常に便利にします。ただし、私の知る限り、依存関係マネージャーの他の一般的な機能(インストールされたパッケージの一覧表示と削除)は実装していません。

インストールされているものを見つける最良の方法は何ですか?また、インストールされているパッケージを削除するための好ましい方法は何ですか?パッケージを手動で(例:rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.eggまたは同様のもの)削除した場合、更新が必要なファイルはありますか?


67
このコメントを書いている時点で、この投稿は2年近く前のものです。pipは効果的にeasy_installの代わりになり、後者によってインストールされたパッケージ(eggsを含む)を適切かつクリーンに削除できます。スレッドの下の方にあることを示唆する回答に必ず賛成してください。
Michael Ekoka、2011年

53
「easy_install」と呼ばれるものの oxymoron- しない対応するものeasy_uninstallがない、またはb:どうやってそうするのかについて言及するのが面倒です--help- 私の心を揺さぶる/ _私の魂を激怒させる/私の心を悲しませます
Alex Grey

13
@マイク私はピップをアンインストールしようとしている場合はどうなりますか?(:
mccc 2014

回答:


621

setuptools / easy_installに代わるpipは、「アンインストール」コマンドを提供します。

インストール手順に従ってpipをインストールします

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

次に、を使用pip uninstallしてインストールされたパッケージを削除できますeasy_install


25
あなたがピップとモジュールのアンインストールの問題を抱えている場合は、あなたのピップインストール自体が最新であることを確認してください:PIP U大文字だという-Uピップ#をインストールする
マイケルEkoka

4
pipは、easy_installインストール済みパッケージをアンインストールするのに役立ちました。ただし、パッケージのすべてのバージョンを削除するには、 'pip uninstall <package>'を複数回実行する必要がありました。それを覚えておいてください。それは、結果としてごちゃごちゃした「開発」インストール済みパッケージも削除しました。
DragonFax

2
しかし、どのようにして非アクティブなパッケージを削除しますか
CrazyGeek

7
easy_installを使用してpipをインストールし、easy_installインストールをアンインストールしました。

2
答えは「pipのインストール」ですが、実際にはpipは最新のPythonに組み込まれているようです
Edward

188

アンインストールするには、卵(ディレクトリの可能性があります)に一致する行を削除する.egg必要があります。rm -rfsite-packages/easy-install.pth


18
新しいpipパッケージマネージャーには、アンインストール機能が含まれています。
joeforker 2010年

ソースからpipをインストールするので、pipの方がアンインストールよりも良いと思います。私と同じように新しいWin7 64ビットを使用している場合は、日を節約できます:)
daitangio

6
一部の使用法は、アンインストールオプションのない古いバージョンのpipで動かなくなっているため、この回答には価値があります。
Mark Pitchless 2012

5
この方法は、浮遊残すことができることを言及する価値がおそらくdata_filesscripts、システム上の(そしておそらく他のファイルカテゴリ)。卵のはEGG-INFO/SOURCES.txt、すべてのリストが含まれているpackageファイルとsourcesではなくdata_files...あなたのシステム上の任意のディレクトリにインストールすることができ、
アレックス・リーチ

pipは、easy_installがインストールするものすべてを常に削除するとは限りません。これは、pipが私のモジュールの1つをアンインストールできなかったときに起こった小さな経験です。それを完全にアンインストールするには、site-packages / easy-install.pthから一致する行を削除する必要がありました。
ychaouche 2015

158

まず、次のコマンドを実行する必要があります。

$ easy_install -m [PACKAGE]

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

次に、そのパッケージのeggファイルを削除します。

$ sudo rm -rf /usr/local/lib/python2.X/site-packages/[PACKAGE].egg

1
ここではより多くのドキュメント:peak.telecommunity.com/DevCenter/...
GiDo

-mこれは、私が知る限り、何かを削除するための適切なeasy_installコマンドではありませんが、この回答は、他の回答ではできないeasy_installパッケージの重要な場所を提供します。rm -rf /usr/local/lib/python*前ピップをインストールするには、それは私には思える行く方法である
fuzzyTew

55

すべての情報は他の答えにありますが、どちらもあなたの両方の要求を要約したり、物事を不必要に複雑にしたりするようには見えません:

  • あなたの除去の必要性を使用するには:

    pip uninstall <package>

    (を使用してインストールeasy_install pip

  • 「インストール済みパッケージのリスト」には、次のいずれかを使用する必要があります。

    pip freeze

    または:

    yolk -l

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

    easy_install yolkまたはを介してインストールpip install yolk


を実行した後yolk -l、「scipy -0.11.0 -non-active development」や「scipy -0.14.0 ... -active development」などのパッケージが重複していることがわかりました。これらの非アクティブな開発パッケージをアンインストールするにはどうすればよいですか?
bobbyjoe93 2014年

2
easy_installでインストールしたpipをアンインストールしたい場合を除いて、これは良いことです。これは、間違ったバージョンのPythonにインストールしてしまったためです。
Nagev 2017

28

-mオプションを使用してパッケージを再インストールし、lib /内の.eggファイルとbin /内のバイナリを削除することでハックを提案するネット上のソースがいくつかあります。また、このsetuptoolsの問題に関する議論は、Pythonバグトラッカーでsetuptoolsの問題21として見つけることができます。

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


2
この情報をありがとう。他の参照のために、ここにあなたが言及した問題へのリンクがあります:bugs.python.org/setuptools/issue21
ire_and_curses

25

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

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

virtual_envtは、新しい環境にsetuptoolsをインストールするので、次のことができます。

$>ENV/bin/easy_install

新しい環境をセットアップする独自のブーストラップスクリプトを作成することもできます。したがって、1つのコマンドで、たとえばpython 2.6、psycopg2、djangoがデフォルトでインストールされた新しい仮想環境を作成できます(必要に応じて、環境固有のバージョンのPythonをインストールできます)。


$>とは何ですか?それはプロンプトですか?たぶん$に修正するほうが便利でしょうか?ありがとう
グレイ

18

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

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

現在インストールされているバージョンのパッケージ(またはパッケージのすべてのバージョン)を削除する場合は、最初に次を実行する必要があります。

easy_install -mxN PackageName

これにより、削除する予定のパッケージをPythonが引き続き検索しないようになります。これが完了したら、.eggファイルまたはディレクトリを、削除するスクリプトとともに安全に削除できます。


変わらないものもあるようです!PIPがTRACハックプラグイン(trac admin)のインストールを拒否しました。easy_installのみが機能します。しかし、誤って古いバージョンをインストールしました。そしてeasy_installはプロジェクトのhttps URLからそれを修正することができませんでした。そのため、PIPを使用して削除しましたが、TRACを再インストールした後、プラグインが表示されません。そこで、ここの情報を使用してpkgを分離し、手動で削除してから再インストールします。ふew。(python 2.7)
Richard Cooke 2018


7

インストールされているPythonパッケージを一覧表示するには、を使用できますyolk -leasy_install yolkただし、最初に使用する必要があります。


6

時間の経過とともにインストールされた多くのランダムなPythonパッケージをアンインストールしようとしているときに、この質問に出くわしました。

このスレッドからの情報を使用して、これは私が思いついたものです:

cat package_list | xargs -n1 sudo pip uninstall -y

package_listAから(awkの)クリーンアップされますpip freeze virtualenvの中で。

ほとんどすべてのPythonパッケージを削除するには:

yolk -l | cut -f 1 -d " " | grep -v "setuptools|pip|ETC.." | xargs -n1 pip uninstall -y

<package_list xargs -n1 sudo pip uninstall -yUUOCを回避します。
HeiniHøgnason、2011

3

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

お役に立てれば。


1
ただし、MacPortsからMacのBrew、ネイティブPython 2.7のいずれかに完全に切り替えました。MySQLdbはsetup_toolsを介してインストールされます
Cmag


1

これでうまくいきました。以前の回答と似ていますが、パッケージへのパスが異なります。

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

プラットフォーム:MacOS High Sierraバージョン10.13.3


1
最初のコマンドは私にこのエラーを生成します:error: No urls, filenames, or requirements specified (see --help)
Michael
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.