安装MacPorts后,在Python解释器中导入PyGame

时间:2013-08-15 21:39:24

标签: python macos python-2.7 pygame macports

我正在尝试开始使用pygame模块,但我无法让它运行。我正在使用Mountain Lion与Python 2.7和MacPorts,但在我发现并开始使用MacPorts之前,我还使用Anaconda安装了一些科学和数学模块。请注意,在我开始执行以下任何操作之前,我的MacPorts刚刚更新。我最初试图使用:

sudo port install py27-game

它看起来像是有效的,并且没有任何问题。但是,当我从命令行进入Python解释器并输入:

import pygame

我收到回复:

Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
ImportError: No module named pygame

然后我进去做了:

import sys
print sys.path

给出了:

 ['', '/Users/trav/anaconda/lib/python27.zip', '/Users/trav/anaconda/lib/python2.7',
 '/Users/trav/anaconda/lib/python2.7/plat-darwin',   
 '/Users/trav/anaconda/lib/python2.7/plat-mac',  
 '/Users/trav/anaconda/lib/python2.7/plat-mac/lib-scriptpackages', 
 '/Users/trav/anaconda/lib/python2.7/lib-tk', '/Users/trav/anaconda/lib/python2.7/lib-  
 old', '/Users/trav/anaconda/lib/python2.7/lib-dynload',  
 '/Users/trav/anaconda/lib/python2.7/site-packages', 
 '/Users/trav/anaconda/lib/python2.7/site-packages/PIL', 
 '/Users/trav/anaconda/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info']

所以,我猜这是因为我在最初使用NumPy,SciPy&amp; Matplotlib在这里设置,这导致MacPorts在路径中以某种方式与此冲突。

我应该删除Ananconda包吗?如果是这样,当我这样做时,我该如何去除这些依赖?

1 个答案:

答案 0 :(得分:0)

好的,所以我想出了问题,这是我的道路。我进去并取下了anaconda包裹:

rm -r ~/anaconda

然后,我使用macports基本上重新安装整个scipy堆栈:

sudo port install py27-wxpython py27-numpy py27-matplotlib py27-scipy py27-ipython

这需要一些时间来编译,当它完成后我进入命令行并使用:

sudo port select --set python python27

之后我打开了我的翻译并导入了我所有的科学计算需求而没有问题和pygame,我之前已经安装了macports。我希望将来可以帮助别人。另外:当您移除像蟒蛇一样的包裹时,请确保并关闭您的终端然后重新打开它,否则它仍将尝试使用不再存在的anaconda的依赖性。我已经设置了macports,因此在移除anaconda后,macports路径成为默认路径。

最后一次编辑。为了让所有这些都能正确运行并允许我从emacs中运行脚本以及所有导入的模块,我必须从我的普通emacs编辑器切换到aquamacs,以便从内部使用正确的路径emacs环境,或者我可以使用/Application/Emacs.app/Contents/MacOS/Emacs从终端运行emacs。