pipのeditableモードでインストールしたパッケージをアンインストールする方法
はじめに
皆さんは、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