找到MacPorts包?

时间:2011-05-27 01:49:27

标签: python macports

我刚刚通过MacPorts安装了py27-numpy软件包,当我使用此命令时,python将无法找到该模块:import scipy

我使用了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中:目录/ bin中

我无法在任何这些地方找到包裹。

感谢您的帮助。

6 个答案:

答案 0 :(得分:13)

要查找已安装组件的位置,请使用contents子命令:

port contents py27-numpy

至于让python找到包裹,请参阅@fardjad's response

答案 1 :(得分:13)

你的PATH不正确。它似乎正在挑选另一个Python 2.7,可能是使用python.org或其他地方的二进制安装程序安装的,而不是MacPorts安装的。尝试从PATH中删除/Library/Frameworks/Python.framework/Versions/2.7/bin或直接调用MacPorts Python:

/opt/local/bin/python2.7

答案 2 :(得分:3)

默认情况下,

MacPorts 应在/opt/local/Library/Frameworks/Python.framework/2.7/site-packages中安装 Python 包。因此,请务必在$PYTHONPATH文件中设置.profile环境变量:

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

答案 3 :(得分:1)

sudo port select --set python python27

是安装port的python系统范围的最佳答案

答案 4 :(得分:0)

Homebrew只使用最新的Mac系统版本,MacPorts用于其他版本,我很困惑,直到找到python locations differ depending on the installer

以下是一个自以为是的提示:将virtualenv用于您的项目,并且不要使用MacPorts更改默认版本。我不会想要记住在某事物中间更新我的python所以我依靠virtualenvs。在计算机上选择并找到python版本,然后unifdef

答案 5 :(得分:0)

基于Jeremy W. Sherman's answer

我检查了python版本

python --version
Python 3.8.5

和位置:

which python
/opt/local/bin/python

然后尝试:

sudo port contents python38 

其中列出了7285行:

Port python38 contains:
  /Applications/MacPorts/Python 3.8/IDLE.app/Contents/Info.plist
  /Applications/MacPorts/Python 3.8/IDLE.app/Contents/MacOS/IDLE
  /Applications/MacPorts/Python 3.8/IDLE.app/Contents/MacOS/Python
  /Applications/MacPorts/Python 3.8/IDLE.app/Contents/PkgInfo
  ...
  /opt/local/share/man/man1/python3.8.1

将其与fardjad's answer结合会导致:

sudo port contents python38 | grep site-packages

输出:

/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/README.txt

因为我们需要将命令修改为以下目录:

dirname $(sudo port contents python38 | grep site-packages)

提供所需的目录:

/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages

因此有可能以单线结尾:

macports中的单行PYTHONPATH设置:

 export PYTHONPATH=$(dirname $(sudo port contents python38 | grep site-packages))

我们可以检查结果:

echo $PYTHONPATH
/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages

作为参考,请参阅用于设置PATH的Eclipse Liclipse python IDE对话框的外观-对于完全指定的PYTHONPATH,您可能还想包含更多目录。

Liclipse dialog for Python PATH selection