已编辑——对正确路径搜索顺序的误解非常基本。已在下面的评论中回答。谢谢!
哪些步骤会重现该问题?
\1. 我通过 :: sudo port install py27-healpy 安装了 healpy
\2. 此安装过程正常进行
\3. 在 :: python (随后) :: import healpy 后,我收到“ImportError: 没有名为 healpy 的模块”
预期输出是什么?你看到的是什么?
我期望 healpy 能够加载,如文档教程中所示
您使用的是哪个版本的产品?在什么操作系统上?
我在 Mac OSX 10.9 (Mavericks) 上使用 Python 2.7,配有 64 位 Intel Core Duo 2 MacBook Pro。
请在下面提供任何其他信息。
我看到和听到的建议是将 /opt/local/bin 和 /opt/local/sbin 添加到 /etc/paths 。我这样做了,但仍然无法解决问题
你的问题可能与 Python 版本或路径环境变量有关,以下是一些可能的解决方案:
你安装的是 py27-healpy
,它是为 Python 2.7 设计的。检查你运行 Python 的版本:
python --version
如果默认 Python 版本是 3.x,你需要使用 Python 2.7:
python2.7 -c "import healpy"
如果这样可以导入 healpy,说明你的默认 Python 版本和 py27-healpy
不匹配。
PYTHONPATH
MacPorts 默认安装的 Python 模块通常位于 /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/
。你可以检查 healpy
是否在这个路径:
ls /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/
如果 healpy 存在但仍然无法导入,尝试设置 PYTHONPATH
:
export PYTHONPATH="/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH"
然后再次尝试:
python2.7 -c "import healpy"
MacPorts 安装的软件通常使用 /opt/local/bin/python2.7
,你可以尝试:
/opt/local/bin/python2.7 -c "import healpy"
如果这样可以导入 healpy
,你可能需要将 MacPorts Python 设置为默认:
sudo port select --set python python27
py27-healpy
如果问题仍然存在,可能是 py27-healpy
安装有问题。尝试重新安装:
sudo port uninstall py27-healpy
sudo port install py27-healpy
pip
如果 MacPorts 版本的问题仍未解决,你可以尝试直接使用 pip
安装:
python2.7 -m ensurepip --default-pip
python2.7 -m pip install healpy
如果你仍然遇到问题,可以提供 which python
和 echo $PYTHONPATH
的输出,我可以帮你进一步排查!