无法卸载 'numpy'
Cannot uninstall 'numpy'
我一直在尝试安装 astropy,在安装结束时我收到了这条消息:
Cannot uninstall 'numpy'. It is a distutils installed project and thus
we cannot accurately determine which files belong to it which would
lead to only a partial uninstall.
我试过:pip uninstall numpy
然后我收到了同样的信息。
我在 macOS High Sierra 版本 13.10.5
中安装了 Python 2.7.10
这并没有直接回答你的问题,但那是因为你问错了问题。
Astropy requires Python 3.5 or 3.6。试图让它与 Apple 预装的 Python 2.7 一起工作是浪费时间。您 可能 能够以这种方式获得旧版本,但不能使用 astropy.org 上的安装说明,即使您这样做也不会得到支持。
简单的解决方案就是 Install the latest Anaconda 5.x with Python 3.6, because it 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
并删除除 README
和 Extras.pth
之外的所有内容。
- 在
/usr/local/bin
中查找指向 site-packages
中任何内容的符号链接。 (如果您对使用 Unix 了解不多,请尝试此命令:ls -l /usr/local/bin | grep 2.7
。)您可能会在此处看到 pip
和 pip2.7
,并且可能没有其他任何内容。但是无论你在这里有什么,都删除它。
现在,当您安装 Python 3.6 时,任何地方唯一名为 pip
的东西将是 Python 3.6 的 pip
。你仍然想使用 pip3
或 python3 -m pip
,但如果你搞砸了并不小心输入 pip
,它不会破坏任何东西。
此外,您应该强烈考虑使用虚拟环境。有关更多信息,请参阅 Python Packaging Authority 的 User Guide(或 Anaconda 文档,如果您这样做的话)。
我也遇到了这个问题,无法以干净的方式解决它,但这就是我所做的:
在 Lib 文件夹中搜索 "numpy" 一个 egg_info 文件(例如 numpy-1.11.0.dev0_2329eae.egg-info)。
在我的例子中,这就是 Pip 正在查看的内容,以确定当前版本是否已经存在。我删了,然后运行正常
pip install numpy
并安装了最新版本。
我不推荐这个,因为我不明白它在做什么,而且它没有正确卸载旧版本,这可能会导致麻烦,但如果你绝望就像我当时一样,也许这是适合您的解决方案。
我找到的一个简单的解决方案:
sudo -H pip install astropy --ignore-installed numpy
我一直在尝试安装 astropy,在安装结束时我收到了这条消息:
Cannot uninstall 'numpy'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
我试过:pip uninstall numpy
然后我收到了同样的信息。
我在 macOS High Sierra 版本 13.10.5
这并没有直接回答你的问题,但那是因为你问错了问题。
Astropy requires Python 3.5 or 3.6。试图让它与 Apple 预装的 Python 2.7 一起工作是浪费时间。您 可能 能够以这种方式获得旧版本,但不能使用 astropy.org 上的安装说明,即使您这样做也不会得到支持。
简单的解决方案就是 Install the latest Anaconda 5.x with Python 3.6, because it 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
并删除除README
和Extras.pth
之外的所有内容。 - 在
/usr/local/bin
中查找指向site-packages
中任何内容的符号链接。 (如果您对使用 Unix 了解不多,请尝试此命令:ls -l /usr/local/bin | grep 2.7
。)您可能会在此处看到pip
和pip2.7
,并且可能没有其他任何内容。但是无论你在这里有什么,都删除它。
现在,当您安装 Python 3.6 时,任何地方唯一名为 pip
的东西将是 Python 3.6 的 pip
。你仍然想使用 pip3
或 python3 -m pip
,但如果你搞砸了并不小心输入 pip
,它不会破坏任何东西。
此外,您应该强烈考虑使用虚拟环境。有关更多信息,请参阅 Python Packaging Authority 的 User Guide(或 Anaconda 文档,如果您这样做的话)。
我也遇到了这个问题,无法以干净的方式解决它,但这就是我所做的:
在 Lib 文件夹中搜索 "numpy" 一个 egg_info 文件(例如 numpy-1.11.0.dev0_2329eae.egg-info)。
在我的例子中,这就是 Pip 正在查看的内容,以确定当前版本是否已经存在。我删了,然后运行正常
pip install numpy
并安装了最新版本。
我不推荐这个,因为我不明白它在做什么,而且它没有正确卸载旧版本,这可能会导致麻烦,但如果你绝望就像我当时一样,也许这是适合您的解决方案。
我找到的一个简单的解决方案:
sudo -H pip install astropy --ignore-installed numpy