如何在Mac上为Python 2.6.2安装GASP
我现在正在学习Python,正在阅读《如何像计算机科学家一样思考:用Python学习》。我在Mac OSX 10.4.11上安装了Python 2.6.2,并且正在使用IDLE这个工具。
在第四章的最后,Elkner等人提到了GASP。但是他们的说明不太管用,当我输入:
>>> from gasp import*
我得到的是:
Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
from gasp import*
ImportError: No module named gasp
我在谷歌上查了一下,只找到一些过时的安装方法或者一堆听不懂的内容。我觉得我需要先安装PyObjC,但我也没能成功。
有没有人能给我一些简单明了的指导呢?
3 个回答
这是一个有趣的问题,很多读者在阅读《如何像计算机科学家一样思考:用Python学习》的第四章时都会遇到。
现在,要安装GASP,你需要先确认你的电脑上是否安装了Python。
假设:我假设你正在使用Mac电脑。
在你的终端中输入以下命令,
`$ python -V`
{如果你的系统上安装了Python,你会看到类似“Python 2.7.1”的回应(如果版本是2.7.1的话)。}
一旦你的系统上有了Python,你就应该安装PyObjC。
一个简单的方法是在终端中输入,
`$ easy_install pyobjc==2.2`
{这将安装版本2.2}
接下来的步骤是安装pygame包,你可以通过两种方式来完成:要么下载.dmg文件,要么使用“homebrew”。我更喜欢第二种方法。
使用“brew”安装pygame包之前,你需要先安装mercurial。这是一个简单的过程,只需在终端中输入
$ brew install mercurial
然后输入以下命令,
$ brew install sdl sdl_image sdl_mixer sdl_ttf smpeg portmidi
$ sudo pip install hg+http://bitbucket.org/pygame/pygame
下一步是安装GASP。你可以从 https://launchpad.net/gasp-core/+download 下载gasp。
解压缩.tar文件后,你会得到一个文件夹结构。我们的目标是将名为“gasp”的文件夹复制到系统的Library文件夹中。要检查使用的是哪个文件夹或Python版本,以及它们的正确路径,请在终端中输入以下命令。
$ python -c 'import sys, pprint; pprint.pprint(sys.path)'
通常它会打印出类似于'/Library/Python/2.7/site-packages'的路径,你可以在上述命令生成的输出的最后一行或倒数第二行看到这个路径。
将gasp文件夹复制到site-packages文件夹中,
$ sudo cp -R ~/Desktop/python-gasp-0.1.1/gasp/ /Library/Python/2.7/site-packages/gasp
这应该会将所有所需的文件复制到指定的位置。
现在去终端输入
$ python
>>> import gasp
如果一切顺利,你不会看到任何错误或消息。
附注:确保在你的site-packages目录中没有pygame/gasp的重复副本。如果有重复,可能会出现很多问题。此外,如果任何步骤出错,你可能会在gasp包的base.py文件的第25或第26行看到“import cairo”的错误。在这种情况下,请清理你的site-packages目录,删除pygame和gasp,然后重新安装,这应该能解决问题。
另外,在安装mercurial时,你可能会看到一些与证书相关的警告。你可以通过输入以下命令来解决这些问题,
$ openssl req -new -x509 -extensions v3_ca -keyout /dev/null -out dummycert.pem -days 3650
$ sudo cp dummycert.pem /etc/hg-dummy-cert.pem
$ cd ~
$ nano .hgrc
{这将打开一个空的.hgrc文件}
输入以下内容
[web]
cacerts = /etc/hg-dummy-cert.pem
按ctrl + o保存以上两行,然后按ctrl + x退出nano。
就这样。这应该能解决你在安装GASP时遇到的问题,享受《如何像计算机科学家一样思考》这本书,它是进入计算机世界的绝佳入门书籍。
大家好,抱歉我的句子不太完整,英语也不太好,但我想让这些内容简单易懂,特别是对于那些完全没有编程经验的人来说,就像我一样(这是我第一次接触这些东西,比如终端)。这是我花了几个小时在网上查资料的结果,都是在一天内完成的。也许有熟悉下面这些命令(加粗的部分)的人可以帮忙解释一下到底发生了什么。此外,这些操作都是在运行Mac OS Lion的MacBook Pro的终端上完成的。
- 安装macport二进制文件(有安装程序,简单)
sudo port install py-game
不太确定这一步是否必要,因为它似乎并没有让pygame在python 2.7.1(Lion自带的python)上正常工作。
sudo port select --set python python 2.7
我认为这一步是把默认的python版本设置为2.7.2,我也相信这个版本是在第二步下载的(所以我觉得这一步是必要的)。
- 下载setuptools-0.6c11-py2.7.tar
- 在点击.tar文件后出现的gasp-0.3.4文件夹里,把
setup.py
放到gasp文件夹里。 sudo python gasp/setup.py install
确保你的目录是在gasp-0.3.4文件夹里。
sudo port –v install py27-pygtk
这一步大约需要一个小时才能完成。
sudo port uninstall py-game
这一步对gasp的运行并不是必要的;我只是想把第二步下载的那些不必要的东西删掉;不过,这一步把python 2.7.2安装到了我的电脑上;我想可以单独安装2.7.2,但这样做对我来说有效;这一步还会安装很多其他不必要的东西,但我觉得即使执行了这个命令,它们也会保留在电脑上,算了。