💡

pipのeditableモードでインストールしたパッケージをアンインストールする方法

2023/03/09に公開

はじめに

皆さんは、Pythonで自作のパッケージをローカルにインストールして試す時に、editableモードを使いませんか。変更した内容が即座に更新されるeditableモードは、自作のパッケージ開発には欠かせないインストールモードなのですが、editableモードでインストールしたパッケージをアンインストールしたかった時、pip uninstall package_name ではうまくいきませんでした。
 調べてみると、editableモードでインストールしたパッケージをアンインストールできないという事例が他にもあったので、解決策を調べてみました。

問題

このように

sudo pip install -e .

でインストールしたパッケージをアンインストールするとき、

sudo pip uninstall package_name

と打つと、

Found exisiting installation : package_name
Can't uninstall package_name.No files were found to uninstall.

とアンインストールするファイルが見つからないと言い、アンインストールできません。

対応

ChatGPT先生に聞いてみました。

解決策

GPT先生によると、パッケージのディレクトリまで移動し、フォルダ"package_name.egg-info"というフォルダを削除します。
ただし削除するには管理者である必要があります。コマンドはこちら:

cd package_directory

パッケージのディレクトリに移動します。
ちなみにインストール場所はsudo pip show package_nameで調べることができます。

sudo rm -rf package_name.egg-info/

package_name.egg-infoの中のファイルごとすべて削除します。
これでアンインストール完了です。

コマンドがある場合

自作のパッケージにコマンドがある場合、コマンドはegg-infoを消した時に一緒に削除されるわけではないので、同じようにコマンドのある場所を削除します。

sudo rm /usr/local/bin/command_name

のような感じです。

まとめ

Pythonで自作パッケージをローカルにインストールする時に欠かせないpipのeditableモードですが、アンインストールに問題があって驚きました。アップデートなどで改善してほしいですね。
Stackoverflowにも同じようの問題を提示している人がいましたが、英語がよくわからなかったので、ChatGPTに聞きました。最初は問題を認識してくれなかったようですが、会話しているうちに問題をわかってくれました。
皆さんもぜひプログラミングでわからいことがあればChatGPTを活用して見てくださいね。

Discussion