ubuntu 9.10 下手动安装pygame

来源:互联网 发布:南方舞厅 知乎 编辑:程序博客网 时间:2024/04/29 14:39

 周海汉 /文
ablozhou @ gmail.com
http://blog.csdn.net/ablo_zhou
2009.11.29


pygame.org网站被GFW封锁,大陆不能直接下载。pygame依赖SDL等其他库,都给安装造成一定麻烦。不过,相对于平台无关的强大的使用python语言的游戏开发,这些都不算什么了。

 

1. 简介

pygame 是基于对 SDL库的python 封装,提供python接口。SDL(Simple DirectMedia Layer) 是一个跨平台的游戏开发库,方便游戏开发和移植。目前最新版本SDL1.2.14. 下载地址:http://www.libsdl.org/download-1.2.php.  SDL库作者Sam Lantinga,采用C语言开发。SDL还有perl, erlang, Pango,ruby等语言的封装。
pygame 作者是Pete Shinners,目前最新稳定版本1.91。



2. 下载
pygame 官网http://www.pygame.org,但被变态的GFW屏蔽了。想去官网访问只好学会穿墙。另外有些第三方的下载,看你运气如何了。

或通过apt-get 直接安装。

sudo apt-get install python-pygame

如果是直接下载的,则需要手动配置如下的软件。

3. 安装SDL
我下载的是pygame-1.9.1release.tar.gz,2MB大小。解压后进入目录执行
python config.py
提示
sh: sdl-config: not found
sh: smpeg-config: not found

SDL没有安装,执行
sudo aptitude install libsdl1.2-dev
下列“新”软件包将被安装。
  libaa1-dev{a} libasound2-dev{a} libaudio-dev{a} libaudiofile-dev{a}
  libcaca-dev{a} libdirectfb-dev{a} libdirectfb-extra{a} libesd0-dev{a}
  libfreetype6-dev{a} libgl1-mesa-dev{a} libglu1-mesa-dev{a} libice-dev{a}
  libjpeg62-dev{a} libncurses5-dev{a} libpng12-dev{a} libpthread-stubs0{a}
  libpthread-stubs0-dev{a} libsdl1.2-dev libslang2-dev{a} libsm-dev{a}
  libsysfs-dev{a} libx11-dev{a} libxau-dev{a} libxcb1-dev{a}
  libxdmcp-dev{a} libxext-dev{a} libxt-dev{a} mesa-common-dev{a}
  x11proto-core-dev{a} x11proto-input-dev{a} x11proto-kb-dev{a}
  x11proto-xext-dev{a} xtrans-dev{a} zlib1g-dev{a}
大概有10M 会下载安装。

其余源码和其他平台的安装包如rpm可以访问
http://www.libsdl.org/download-1.2.php
找到。

4. 安装其他必须软件
再执行python config.py
提示
Hunting dependencies...
sh: smpeg-config: not found
WARNING: "smpeg-config" failed!
SDL     : found 1.2.13
FONT    : not found
IMAGE   : not found
MIXER   : not found
SMPEG   : not found
PNG     : not found
JPEG    : not found
SCRAP   : not found
PORTMIDI: not found
PORTTIME: not found

 

可以忽略这些组件继续安装,但某些效果无法得到。
执行如下命令安装缺失组件。

sudo apt-get install libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl-gfx1.2-dev libsdl-net1.2-dev libsdl-sge-dev libsdl-sound1.2-dev libportmidi-dev libsmpeg-dev
其中mixer是混音库,sound是声音库,ttf是字体库,gfx,sge,image都是图形处理的。smpeg是播放mpeg电影的。midi是处理midi声音的。

如果python没有安装开发库,也会导致pygame不能安装
sudo apt-get install python2.6-dev
根据机器python版本安装相应的开发库。我的python是2.6.4版本,所以安装2.6的开发库。
还需安装python的numeric库,用于处理向量和数值计算,某些游戏需要。
sudo apt-get install python-numeric python-numpy python-scipy

5. 安装pygame.再次执行
sudo ./config.py
Hunting dependencies...
SDL     : found 1.2.13
FONT    : found
IMAGE   : found
MIXER   : found
SMPEG   : found 0.4.5
PNG     : found
JPEG    : found
SCRAP   : found
PORTMIDI: found
PORTTIME: found

执行
sudo python setup.py
成功后pygame即安装完毕。如果有问题再根据错误安装相应软件和库。

6.试用pygame
进入examples,执行
chmod +x *
./aliens.py
会看到一个坦克大战的游戏,可以试试其他游戏。下面是我的pygame游戏画面,可以听到音乐和开炮,爆炸的音效。

 

原创粉丝点击