我意外地全局安装了一个名为 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
引号被 shell 解释并剥离,pip 甚至没有接收它们。
在 GNU 实用程序中处理此类情况的标准方法是使用双破折号:
sometool -somearg -otherarg -- -these -are -interpreted -as -file -names
我猜 pip 可能也会使用这个约定。
答案2
我遇到了类似的情况。对我有用的是运行以下命令来查看安装所在的位置:
pip show -- -pkgname
然后我进入该文件夹并简单地删除了有问题的文件夹(它以连字符列出,但文件夹名称以波浪符号开头,~pkgname)。
这解决了我的问题。