我一直在尝试安装astropy,在安装结束时我收到以下消息:
无法卸载“ numpy”。这是一个distutils安装的项目,因此 我们无法准确确定哪些文件属于该文件 导致仅部分卸载。
我尝试过:pip uninstall numpy
,然后得到相同的消息。
我在macOS High Sierra版本13.10.5中具有Python 2.7.10
(我是Python的新手,我在问问题之前一直在寻找答案,但没有任何效果。
答案 0 :(得分: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
安装所有内容,{{ 3}}。
无论哪种方式,在执行其他任何操作之前,您都希望回到干净的状态。特别是,您不希望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的as explained on the Astropy install page(或Anaconda文档,如果您这样做的话)。
答案 1 :(得分:2)
我发现了一个简单的解决方案:
sudo -H pip install astropy --ignore-installed numpy
答案 2 :(得分:0)
我也遇到了这个问题,无法以一种干净的方式解决它,但这就是我所做的:
在Lib文件夹中,搜索“ numpy”以查找egg_info文件(例如numpy-1.11.0.dev0_2329eae.egg-info)。
就我而言,这就是Pip用来确定当前版本是否存在的内容。我删除了,然后正常运行了
pip install numpy
并安装了最新版本。
我不建议这样做,因为我不了解它的功能,并且无法正确卸载旧版本,这可能会给您带来麻烦,但是如果您像我一样绝望那时也许这是您的解决方案。