Astropy 不适用于 Python

Astropy isn't working with Python

我最近在使用 Python 时遇到了困难,主要是因为我认为我有多个版本和冲突(由于 Anaconda 安装、canopy 安装等)。所以我清理了那些。

我通过 brew 重新安装了 python (2.7)。

我通过 pip 重新安装了 numpy 和 matplotlib。 我还通过 pip 重新安装了 astropy 和 h5py。

但是,我完全导入了 numpy 和 matplotlib,但没有导入 astropy 和 h5py:

~ > python
Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import matplotlib
>>> import astropy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named astropy
>>> import h5py
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ImportError: No module named h5py
>>> 

我的 怀疑 是你的 pip 可执行文件没有链接到你的 python 可执行文件,这意味着当你 运行 pip install astropy 它正在将它安装在 不同 python.

的站点包中

确保您使用正确 pip 的一种方法是不使用

$ pip install astropy

而是使用

$ python -m pip install astropy

如果失败,这可能意味着您没有为您正在使用的 python 实例安装 pip,您需要 install it(注意对于 Python 2 版本 2.7.9 或更高版本,或 Python 3 版本 3.4 或更高版本,pip 与 Python 捆绑在一起)。

如果这仍然不起作用,则说明发生了一些奇怪的事情。这可能是由于 $PYTHONPATH$LD_LIBRARY_PATH/$DYLD_LIBRARY_PATH 的设置干扰了您的 python 导入。在这种情况下,您可以清除这些变量并重试。否则,我会考虑使用 conda or canopy 等软件包。它使这类安装问题变得更加顺利。


编辑:我现在看到您已经使用了 conda 和 canopy,并且您怀疑是这些导致了您的问题。根据设计,Conda 和 canopy 都将其 python 安装沙盒化,这样它们就不会受到系统中其他安装的干扰,除非您通过设置我上面提到的环境变量来强制进行此类干扰。我建议重新安装 conda 并从 bash/csh 启动脚本中擦除这些环境变量。