1. ホーム
  2. パイソン

[解決済み】pip install --userでインストールしたパッケージをアンインストールする方法

2022-04-03 01:53:39

質問

があります。 --user オプションは、ユーザーごとにPythonパッケージをインストールすることができます。

pip install --user [python-package-name]

私はこのオプションを使って、ルートアクセス権を持っていないサーバーにパッケージをインストールしました。今必要なのは、インストールされたパッケージを現在のユーザーでアンインストールすることです。私はこのコマンドを実行しようとしました。

pip uninstall --user [python-package-name]

しかし、私は得た。

no such option: --user

でインストールしたパッケージをアンインストールするにはどうすればよいですか? pip install --user 手動でパッケージを見つけて削除する以外に方法はありますか?

こんな記事がありました。

pip がユーザーごとの site-packages ディレクトリからアンインストールできません。

には、ユーザーディレクトリからのパッケージのアンインストールがサポートされていないことが記述されています。この記事によると、もしそれが正しく実装されていれば

pip uninstall [package-name]

の場合、インストールされたパッケージはユーザーディレクトリ内でも検索されます。しかし、私にはまだ問題が残っています。同じパッケージがシステム全体とユーザーごとの両方にインストールされていたらどうでしょう? 誰かが特定のユーザーディレクトリをターゲットにする必要がある場合はどうでしょうか?

どうすればいい?

LinuxでPython 3.5とpip 7.1.2を使ってテストしたところ、以下のような状況になっているようです。

  • pip install --user somepackage にインストールします。 $HOME/.local を使用してアンインストールすることができます。 pip uninstall somepackage .

  • があってもなくても同じです。 somepackage も同時にシステム全体にインストールされます。

  • パッケージが両方の場所にインストールされている場合、ローカルのものだけがアンインストールされます。システム全体でパッケージをアンインストールするには pip の場合、まずローカルでアンインストールし、再度同じアンインストールコマンドを root の権限で使用することができます。

  • 定義済みのユーザーインストールディレクトリに加え pip install --target somedir somepackage にインストールされます。 somedir . このような場所からパッケージをアンインストールするには pip . (しかし、Githubにはやや古い未mergeのプルリクエストがあり、その実装は pip uninstall --target .)

  • のみなので pip はシステム全体と定義済みのユーザーローカルからアンインストールするので pip uninstall を指定されたユーザーのローカルインストールディレクトリからアンインストールするために、それぞれのユーザーとして指定します。