
誤って pip3 というパッケージをグローバルにインストールしてしまいました-igalixir
。アンインストールしようとすると、コマンド ライン オプションとしてpip3 uninstall -igalixir
解釈されます-igalixir
。引用符で囲んでみましたが、これも機能しません。
pip3 list
およびの出力はpip3 freeze
次のとおりです。
$ pip3 list
Package Version
---------- -------
-igalixir 1.0.19
click 6.7
pip 19.0.3
proxy.py 0.3
Pygments 2.2.0
requests 2.13.0
rollbar 0.13.18
setuptools 40.8.0
six 1.12.0
stripe 1.51.0
wheel 0.33.1
$ pip3 freeze
Could not parse requirement: -igalixir
click==6.7
proxy.py==0.3
Pygments==2.2.0
requests==2.13.0
rollbar==0.13.18
six==1.12.0
stripe==1.51.0
無効なパッケージ名の場合、そもそもどのようにインストールしたのかさえわかりません。これをシステムから完全に削除する方法はありますか。ランダムなファイルをシステム内に残したくないので、適切にアンインストールされることをお勧めします。
編集
次のように、-igialixir
用語を で区切ろうとしましたが、これはもはやコマンドライン オプションとして解釈されませんが、無効な要件であるため、まだ受け入れられません。--
pip3 uninstall -- -igalixir
-igialixar
$ pip3 uninstall -- -igalixir
Invalid requirement: '-igalixir'
答え1
引用符はシェルによって解釈され、削除され、pip は引用符を受け取りません。
GNU ユーティリティでこのようなケースに対処する標準的な方法は、二重ダッシュを使用することです。
sometool -somearg -otherarg -- -these -are -interpreted -as -file -names
pip もこの規則を使用する可能性があると思います。
答え2
私も同じような状況に遭遇しました。私の場合は、次のコマンドを実行してインストールがどこにあるかを確認することで解決しました。
pip show -- -pkgname
次に、そのフォルダーに移動して、問題のあるフォルダーを削除しました (フォルダーはハイフンでリストされていましたが、フォルダー名はチルダ記号で始まっていました (~pkgname))。
私の場合はそれで問題は解決しました。