无法卸载'numpy'

问题描述 投票:6回答:3

我一直在尝试安装astropy,在安装结束时我收到了这条消息:

无法卸载'numpy'。它是一个distutils安装项目,因此我们无法准确确定哪些文件属于它,这将导致仅部分卸载。

我试过:pip uninstall numpy,然后我收到同样的消息。我在macOS High Sierra版本13.10.5中使用Python 2.7.10

(我是Python的新手,我在询问前寻找答案,但没有任何效果)。

python macos numpy pip
3个回答
6
投票

这并没有直接回答你的问题,但那是因为你问的是错误的问题。

Astropy requires Python 3.5 or 3.6。试图让它与Apple预装的Python 2.7一起使用是浪费时间。您可能能够以这种方式使用旧版本,但不能使用astropy.org上的安装说明,即使您这样做也不会受到支持。


简单的解决方案是只有Install the latest Anaconda 5.x with Python 3.6,因为它comes with Astropy built in


几乎同样简单的解决方案是从python.org二进制安装程序或Homebrew安装Python 3.6,然后使用pip3或更好的python3 -m pip来安装所有内容,as explained on the Astropy install page


无论哪种方式,在做任何其他事情之前,你想要回到一个干净的石板。特别是,您不希望将pip或任何其他脚本附加到Apple的Python 2.7;他们只会造成混乱。假设您无法从头开始重新安装macOS,最好的方法是:

  • 查看/Library/Python/2.7/site-packages并删除除READMEExtras.pth之外的所有内容。
  • /usr/local/bin中查找site-packages中任何内容的符号链接。 (如果您对使用Unix不太了解,请尝试以下命令:ls -l /usr/local/bin | grep 2.7。)您可能在这里有pippip2.7,可能没有别的。但无论你有什么,删除它。

现在,当您安装Python 3.6时,唯一名为pip的地方就是Python 3.6的pip。你仍然想使用pip3python3 -m pip,但如果你搞砸了并且偶然输入pip,它不会破坏任何东西。


此外,您应该强烈考虑使用虚拟环境。有关此内容的更多信息,请参阅Python Packaging Authority的User Guide(或Anaconda文档,如果您采用这种方式)。


3
投票

我发现一个简单的解决方案

sudo -H pip install astropy --ignore-installed numpy

0
投票

我也有这个问题,无法以干净的方式绕过它,但这就是我所做的:

在Lib文件夹中搜索egg_info文件的“numpy”(例如numpy-1.11.0.dev0_2329eae.egg-info)。

就我而言,这就是Pip正在考虑确定当前版本是否已经存在的原因。我删除了它,然后运行正常

pip install numpy

并安装了最新版本。

我不推荐这个,因为我不明白它在幕后做了什么,它没有正确卸载旧版本,这可能是一个麻烦的线下,但如果你像我那样绝望,那么也许这是一个解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.