編集可能なパッケージをpipでアンインストールする方法(-eでインストール)


107

-eでいくつかのパッケージをインストールしました

> pip install -e git+https://github.com/eventray/horus.git@2ce62c802ef5237be1c6b1a91dbf115ec284a619#egg=horus-dev

私が見るピップフリーズ

> pip freeze
...
-e git+https://github.com/eventray/horus.git@2ce62c802ef5237be1c6b1a91dbf115ec284a619#egg=horus-dev
...

パッケージをアンインストールしようとすると、エラーが発生します。

> pip uninstall horus-dev
Cannot uninstall requirement horus-dev, not installed

> pip uninstall horus
Cannot uninstall requirement horus, not installed

このようなパッケージをアンインストールするにはどうすればよいですか?


pip uninstall <package>は、pipの最近のバージョン(私のバージョンは19.1.1)で編集可能モードでインストールされたパッケージをアンインストールします。必ず、entry_pointsでそのパッケージを呼び出すために指定するエイリアスではなく、setup.pyでパッケージ名を使用してください
picmate涅10ct

condaを使用しているユーザーがcondaの開発モードでアンインストールする場合:conda develop -u .
Charlie Parker

なぜpip uninstall yourpackageうまくいかなかったのか分かりましたか?あなたのエラーはどういう意味ですか?コマンドからの奇妙な出力のようです...
チャーリーパーカー

試しましたpip uninstall -e .python setup.py develop -u
チャーリーパーカー

2
私にとってpip uninstall libraryはうまくいきました。OPが提供した回答に行くと、ライブラリが破損しているのは変だと思われます。うまくいけば、これが人々が次回ここに来るときの時間を節約できます。しかし、うまくいくかもしれない多くの異なるオプションがあります。
チャーリーパーカー

回答:


90

at {virtualenv}/lib/python2.7/site-packages/(virtualenvを使用していない場合{system_dir}/lib/python2.7/dist-packages/

  • 卵のファイル(たとえばを削除distribute-0.6.34-py2.7.eggもしあれば)
  • fileからeasy-install.pth、対応する行を削除します(ソースディレクトリまたはeggファイルのパスである必要があります)。

43
驚いたことに、それに対応するアンインストール方法はありません。
Drake Guan 2013年

4
@Drakeはい、実際にはかなり煩わしい
2013年

4
現在のpipバージョンでは、-eオプションでインストールされたパッケージのアンインストールも問題なく機能しています。
有名なガーキン、2014

9
8.1.2を使用している私にとってはpip uninstall package_name機能しますが、pip uninstall .機能しません
confused00

5
ピップに対するオープンな問題があり、ここで編集可能-インストールされたパッケージを除去する能力のために。
クリスハント

22

新しいバージョンのsetup_toolsで同じことを行う簡単な方法は、次のコマンドを実行することです。

python setup.py develop -u

これは基本的に、@ glarrainが彼の回答で説明しているものと同じです。


2
そのコマンドへの出力があるはずですか?私はそれが言うようになりましたがrunning develop、私はまだ.egg-infoファイルを...それを削除することを想定していますか?
ピノキオ

この回答が機能する「setup_toolsの新しいバージョン」とは何ですか?確認してもらえますか?
チャーリーパーカー

あなたの答えは、シンを手動で削除する必要がないことを保証しますか?
チャーリーパーカー

出力は生成されません。私の理解によると、それはそれを削除する必要があります: "--uninstall、-u現在のプロジェクトをアンデプロイします。--install-dirまたは-dオプションを使用してステージング領域を指定できます。作成された.egg-linkファイルは存在する場合は削除され、それでもプロジェクトディレクトリを指しています。」setuptools docsから。これを実行した後も、開発ディレクトリからコンテンツをロードしますか?
アーメドシャリフ

@CharlieParkerこれが導入されたバージョンがわかりません。手動でこれらのファイルを削除する必要はありませんでした。
アーメドシャリフ

10

cmdを使用して開発パッケージをインストールします。

pip install --editable .

アンインストール:

rm -r $(find . -name '*.egg-info')

今あなたは使うことができます:

pip uninstall package_name 

またはpython setup.py develop --uninstallまたはpython setup.py develop -u


4
2番目のコマンドを実行している場所を指定してください。
ethanabrooks、

1
@ethanabrooks .は現在のディレクトリで、パッケージの完全な絶対パスを使用します。
レゴラスブルーム

1
不完全な。すべてのPythonパッケージはどうですか?(site-packagesdir)
ホルヘオルピネル

これは完全にインストールを取り消すわけではありません。パッケージがインストールされたフォルダーからものを削除しますが、dist-packagesディレクトリ(Pythonがインストールされたパッケージを探す場所)のシンボリックリンクは削除しません。使用するクリーナーpython setup.py develop -u
マークアメリー

@MarkAmeryよろしくお願いしますpip uninstall package_name
レゴラスブルーム

6

これは、OSでインストールされたpip(私にとってはv8.1.1)を使用するdebian / ubuntu linuxのバグです。これは、sudo pippipをアップグレードした場合(たとえば、get-pip.py)でも呼び出すものです。https://github.com/pypa/pip/issues/4438を参照してください

参照クリーンアップ方法の説明については/ubuntu/173323/how-do-i-detect-and-remove-python-packages-installed-via-pipをソリューションでありますが、 「すべて削除」の種類。

... pip packages [go] to /usr/local/lib/python2.7/dist-packages、およびapt packages to/usr/lib/python2.7/dist-packages

...いくつかのパッケージもインストールされ~/.local/libました。

私のシステムでは、削除する必要があるのは /usr/local/lib/python2.7/dist-packages/{package_name}.egg-link


私にとってpip uninstall libraryはうまくいきました。OPが提供した回答に行くと、ライブラリが破損しているのは変だと思われます。うまくいけば、これが人々が次回ここに来るときの時間を節約できます。しかし、多くの異なるオプションがあることかもしれない作業
チャーリー・パーカー

5

インストールがどういうわけか壊れていたことがわかりました。

私はエントリを見つけることができました:

/usr/local/lib/python2.7/site-packages/easy-install.pth

問題を解決するために、.pthファイルの行を手動で削除しました!

import sys; sys.__plen = len(sys.path)
...
/absolute-path-to/horus  # <- I removed this line
...

1
インストールが破損しているとはどういう意味ですか?
チャーリーパーカー

-1

インストールしたパッケージを「編集可能」モードでアンインストールするだけです。

pip uninstall yourpackage

9
OPはこれを試し、彼の質問でそう言っています。これは、「編集可能」としてインストールされたパッケージでは必ずしも機能しない
dusktreader

2
@dusktreader:OPのpip uninstallコマンドで何が起こっているのかわかりません(おそらく、pipの古いバージョンですか?)問題が解決しない場合は、問題をさらに掘り下げることができるように、ここで何をしているのか詳しく説明してください。
Apteryx 2017年

@Apteryx待機は、編集可能モードでも機能することを言っていますか?
チャーリーパーカー

この答えは私にとってうまくいきました。彼の答えを確認すると、変なインストールが奇妙だった(またはコンピューターが変な状態だった)ため、OPでは機能しなかったと思います。pip uninstall pkgAfaikを動作します。
チャーリーパーカー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.