pip显示模块“未找到”以卸载,但pip list却显示它们

7 投票
1 回答
1742 浏览
提问于 2025-04-18 17:36

使用 pip list 命令,我可以看到已经安装的模块列表,其中包括 scipy、numpy 和 pandas。

如果我用 pip install -U... 来更新这些模块,系统会检查一下,发现已经是最新的,然后就返回到命令提示符。但是如果我用 pip uninstall pandas 或者卸载列表中的任何一个模块,系统会提示:

无法卸载 numpy。没有找到可以卸载的文件

我所有与 Python 相关的东西都是通过 Enthought 的 Canopy Stack 安装的。

1 个回答

1

看起来在使用Canopy进行安装或管理软件包时,需要特别注意一些事情。例如,Enthought的开发者和工作人员提到(比如在这个链接中:https://support.enthought.com/entries/22914233-Using-non-EPD-package-installers-such-as-pip

“如果你想从其他来源安装一个EPD软件包,最好的做法是先卸载它(enpkg --remove some_package),然后再用你喜欢的方式安装,比如(pip install some_package)。”

值得注意的是,在我使用Canopy的包管理器更新了33个过时的软件包后,'sklearn'模块让我可以import datasets注意:这些软件包在pip中显示是最新的!

总结一下:如果你安装了Canopy,建议使用包管理器(我个人认为应该一直使用,尽管上面链接中有一些解决方法)来保持更新,然后如果你愿意可以从命令行开始工作。出于某种原因,PIP无法识别由Canopy管理的软件包!!!

撰写回答