Python无法识别MacPorts安装的软件包

时间:2012-02-16 03:29:11

标签: python shell macports

提前感谢您的建议!

背景:

相对于这个网站上的人我是编程的新手,尽管进行了一些研究,但我并不熟悉使用Unix类型的shell,管理软件包真正涉及的内容,或者在“外部”之外完成的任何事情。 Java博士“IDE或默认R GUI。我有一个OSX 10.5.8的2008年末macbook

我的目标:

我正在尝试在Python中安装以下软件包:scipy,numpy,matplotlib,networkX

我的故事:

根据我的理解,我的10.5.8安装了Python 2.5,系统需要它才能运行,你真的不应该搞乱。我安装的软件包需要Python 2.7,所以在重新格式化我的机器后,我使用Python网站的.dmg安装了Python 2.7.2 for OSX 10.3(最新的2.7 / X提供的Python / OSX)。然后,我使用.dmg(我的操作系统的适当版本)从Apple站点安装了XCode,并使用他们站点的.dmg安装了MacPorts(适用于我的操作系统的版本)。然后,我相信我使用MacPorts来安装软件包:

sudo port install py27.numpy

然而,当我尝试导入我显然安装的软件包时,Python告诉我它们不存在。我很确定我的机器上只有2个版本的Python,OSX为2.5,我为2.7.2(如何检查?),如果我检查哪个版本的Python正在运行,无论是通过Shell还是通过IDLE,我得到:

>>> import sys
>>> print sys.version
2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 14:13:39) 
[GCC 4.0.1 (Apple Inc. build 5493)]

如果我运行“哪个python”:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python

当我使用

检查MacPorts安装软件包的位置时
port contents py27-packagename

我的目录主要是:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/

中有几个目录
/opt/local/share/py27-matplotlib/examples/
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/share/doc/networkx-1.5/

中的一个目录
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/f2py
/opt/local/share/doc/py27-matplotlib/CHANGELOG
/opt/local/share/doc/py27-matplotlib/README.txt
/opt/local/share/doc/py27-matplotlib/TODO

我的问题:

如何让Python识别我的包?理想情况下,我想设置它,以便我可以使用Python IDLE,以及从命令行调用它。

我尝试复制一些解决方案: Locate MacPorts package? 但我真的不明白我在做什么,所以很难适应那里正在做的事情。

再次感谢大家!

1 个答案:

答案 0 :(得分:2)

我最初误解了你的问题是标准的 - 为什么我不能运行我的macports python?但事实上,你指定你正在尝试使用自安装的python,你就是。问题是,python不知道在哪里查找安装了macports的库。

你跟那个链接的问题走在了正确的轨道上。请参阅this response,但将路径替换为您的macports libs的实际路径,即:

export PYTHONPATH="/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH"

看看是不是这样做了!