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 启动脚本中擦除这些环境变量。
我最近在使用 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 启动脚本中擦除这些环境变量。