Astropy不是';我们不能使用Python

Astropy不是';我们不能使用Python,python,numpy,matplotlib,pip,astropy,Python,Numpy,Matplotlib,Pip,Astropy,我最近在使用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:

我最近在使用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
>>> 
~>python
Python 2.7.10(默认值,2015年10月23日,19:19:21)
[GCC 4.2.1达尔文兼容苹果LLVM 7.0.0(clang-700.0.59.5)]
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>进口numpy
>>>导入matplotlib
>>>进口占星术
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ImportError:没有名为astropy的模块
>>>进口h5py
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ImportError:没有名为h5py的模块
>>> 
我怀疑您的
pip
可执行文件没有链接到您的
python
可执行文件,这意味着当您运行
pip install astropy
时,它正在为不同的python安装站点包

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

$ pip install astropy
而是使用

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

如果这仍然不起作用,那么就会发生一些奇怪的事情。这可能是由于设置了
$PYTHONPATH
$LD\u LIBRARY\u PATH
/
$DYLD\u LIBRARY\u PATH
会干扰python导入。在这种情况下,您可以清除这些变量并重试。否则,我会考虑使用包包,如OR。它使这些类型的安装问题更加顺利



编辑:我现在知道你使用了康达和卡蓬,你怀疑是它们造成了你的问题。Conda和canopy在设计上都对python安装进行了沙箱处理,这样它们就不会受到系统中其他安装的干扰,除非您通过设置上面提到的环境变量来强制进行这种干扰。我建议重新安装conda并从bash/csh启动脚本中删除这些环境变量。

显然,您没有在使用的解释器中安装
astropy
h5py
。检查
python-mpiplist
是否列出
astropy
h5py
pip
可能会符号链接到与您当前使用的解释器无关的其他二进制文件。请确保
which python
which pip
的输出有意义,并且``head
which pip``的输出与
which python
匹配。确保您理解
$PATH`中的所有内容,并且这些内容对您来说是合乎逻辑的。删除任何没有意义的内容。与
$PYTHONPATH
相同(事实上,我建议完全清除
$PYTHONPATH
,并且几乎永远不要使用它——如果您想为软件包提供一个替代安装位置,请使用virtualenv)。@Rogalski我已经尝试过“python-m pip安装astropy”和“python-m pip列表”,并在这两种情况下获得“/usr/bin/python:No module named pip”,所以有点不对劲……听起来好像pip没有安装在/usr/bin/python上。请尝试按照以下说明进行操作: