键入pip freeze
时,我在列表顶部注意到以下警告:
警告:无法解析要求:-atplotlib
因此,我使用以下命令检查了已安装的软件包:pip list
而且,确实以下内容被视为软件包:
Package Version
--------------- -------
-atplotlib 3.0.3
我假设我在安装/升级matplotlib时可能遇到了错字,导致安装了上述“软件包”。
很遗憾,我无法在输入时将其删除
pip uninstall -atplotlib
作为命令读取,并返回以下错误:no such option: -a
。
对如何进行有任何建议吗?
我找到了以下文件夹:
C:\ Users \ name \ Anaconda3 \ Lib \ site-packages \〜atplotlib
C:\ Users \ name \ Anaconda3 \ Lib \ site-packages \〜atplotlib-3.0.3-py3.7.egg-info
删除它们是否安全(足够)?
答案 0 :(得分:0)
搜索损坏的程序包的名称(不带破折号)使我可以找到以下两个文件夹:
C:\ Users \ name \ Anaconda3 \ Lib \ site-packages \〜atplotlib
C:\ Users \ name \ Anaconda3 \ Lib \ site-packages \〜atplotlib-3.0.3-py3.7.egg-info
跟随Hoefling的评论(如下)
我检查了egg-info目录SOURCES.txt
中的%dir%/~atplotlib-3.0.3-py3.7.egg-info/SOURCES.txt
文件。浏览了此文件中的路径列表,并确保列出的所有路径都不包含~
。然后,我将目录~atplotlib-3.0.3-py3.7.egg-info
重命名为atplotlib-3.0.3-py3.7.egg-info
(删除了波浪号~
)。
最后,我运行pip uninstall atplotlib
,它提示了以下内容:
卸载atplotlib-3.0.3:
将删除:
C:\ Users \ name \ Anaconda3 \ Lib \ site-packages \ atplotlib-3.0.3-py3.7.egg-info C:\ Users \ name \ Anaconda3 \ Lib \ site-packages \ matplotlib
C:\ Users \ name \ Anaconda3 \ Lib \ site-packages \ pylab.py
继续执行删除操作已解决了该问题(警告消失了,并且软件包不再位于软件包列表中。
答案 1 :(得分:0)
一种简单得多的解决方案是仅从site-packages
目录中删除有问题的文件夹。
下面的更多信息(source):
卸载软件包时,pip现在将其重命名为名称 无法导入,并且一旦确认所有内容 将成功(包括在安装新版本时执行 升级),只有这样才能删除这些文件夹。如果出事了 它重命名它们。
以前,它将全部内容复制到另一个目录, 可能还有另一个驱动器,然后根据需要将它们复制回去。 因此,此更改是一项重大的性能改进,尤其是 用于其中包含大量文件的软件包。
您在这里看到的是由于某种原因删除失败- 也许点子崩溃了? -因此目录没有被删除。一世 认为一点完全忽略了它们,但也许还有其他东西 自从测试之后就改变了?
可以安全删除目录。
答案 2 :(得分:0)
在删除作为文件名开头的 rm -rf atplotlib
字符后,我不得不执行 ~
。
$ pip freeze | grep atplotlib
$ cd /home/user/.local/lib/python3.8/site-packages
$ mv \~ atplotlib atplotlib
$ pip freeze | grep atplotlib
atplotlib ==3.0.3
$ pip uninstall atplotlib
WARNING: Skipping atplotlib as it is not installed.
$ rm -rf atplotlib