定位MacPorts包吗?

9 投票
6 回答
16287 浏览
提问于 2025-04-16 18:26

我刚通过MacPorts安装了py27-numpy这个包,但当我用这个命令:import scipy时,Python找不到这个模块。

我使用了help('modules')这个命令,但没有看到scipy这个包。

显然,路径配置得不对,或者MacPorts没有安装到正确的位置。不管怎样,知道这个包安装在哪里对我解决问题很有帮助。

我在哪里可以找到MacPorts安装的py27-scipy包的路径呢?

这是 echo $PATH 命令的输出:

/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:directory/bin

我在这些位置都找不到这个包。

谢谢你的帮助。

6 个回答

3

MacPorts 默认情况下会把 Python 的包安装在 /opt/local/Library/Frameworks/Python.framework/2.7/site-packages 这个地方。所以你需要确保在你的 .profile 文件中设置好 $PYTHONPATH 这个环境变量:

export PYTHONPATH="/opt/local/Library/Frameworks/Python.framework/Versions/2.7/site-packages"
15

要找到已安装组件的位置,可以使用 contents 这个子命令:

port contents py27-numpy

至于如何让 python 找到这个包,可以参考 @fardjad的回答

13

你的 PATH 设置不对。看起来它正在使用另一个 Python 2.7,可能是从 python.org 或其他地方用二进制安装程序安装的,而不是通过 MacPorts 安装的那个。你可以试着把 /Library/Frameworks/Python.framework/Versions/2.7/bin 从 PATH 中去掉,或者直接使用 MacPorts 的 Python:

/opt/local/bin/python2.7

撰写回答