在Ubuntu中为Python 3.1.2安装Pygame

时间:2011-06-30 18:35:32

标签: python ubuntu pygame

我正在阅读Paul Craven撰写的“使用Python和Pygame计算机科学导论”一书(注:可在线免费获取)。在本书中,他使用了Python 3.1.3和Pygame 1.9.1的组合。在我的Linux Ubuntu机器上,我有Python 3.1.2但是即使我在sudo apt-get安装了python-pygame(版本1.9.1)之后,Python 3.1.2也无法导入pygame。

Python 3.1.2 (r312:79147, Sep 27 2010, 09:45:41) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pygame
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pygame

Python 2.6.5可以毫不费力地导入它,

Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pygame
>>> 

您是否了解Linux / Ubuntu的Python 3.1.2(Craven教授在他的书中使用过Windows)的任何问题?为什么Pygame 1.9.1适用于Python 3.1.3而不适用于3.1.2?

感谢您的任何指示。 ( - )

8 个答案:

答案 0 :(得分:9)

Python 3上的PyGame仍然是实验性的,但这些步骤对我来说在Ubuntu 11.10上有用:

sudo apt-get install mercurial python3-dev libjpeg-dev libpng12-dev libportmidi-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libsmpeg-dev libx11-dev ttf-freefont libavformat-dev libswscale-dev
hg clone -u 01b2cb16dc17 https://bitbucket.org/pygame/pygame
cd pygame
python3 config.py
2to3 setup.py -w
python3 setup.py build
sudo python3 setup.py install

(您可以移除-u 01b2cb16dc17以尝试最新版本; 01b2cb16dc17为我工作。)

答案 1 :(得分:3)

我讨厌重新打开一个旧帖子,但我最难安装pygame的python版本不是Ubuntu的默认版本。所以我创建了本教程/如何:

Install python3.1 and pygame1.9.1 in Ubuntu

我希望这有助于下一个不幸的灵魂尝试这个。

答案 2 :(得分:1)

我使用 Ubuntu 16.04.7上的pip3(用于安装和管理Python软件包的工具)命令很容易地为python3安装了 pygame LTS

  1. 打开终端并安装 pip3 ,键入sudo apt install python3-pip
  2. 现在使用它为 python3 安装 pygame ,键入pip3 install pygame

就是这样!导入库并确认一切正常:

# I'll try it out using the python 3 interpreter.
python3 --version
Python 3.5.2
robert@robert-E7212:~/Source/Python/python_crash_course/alien_invasion$ python3
Python 3.5.2 (default, Oct  7 2020, 17:19:02) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
# No errors, pygame was imported successfully!
>>> import pygame
pygame 2.0.0 (SDL 2.0.12, python 3.5.2)
Hello from the pygame community. https://www.pygame.org/contribute.html
>>> 

答案 3 :(得分:0)

我遵循@Søren的方法,但没有-u号。

唯一的复杂因素是最后一行的一些编译错误,都归结于Python 2和Python 3之间的语法和unicode差异,但是稍微检查了一下Web文档,只需几分钟就可以了解文本编辑器修改以下文件(所有路径都相对于下载期间创建的pygame目录):

gedit build/lib.linux-x86_64-3.2/pygame/colordict.py 
gedit build/lib.linux-x86_64-3.2/pygame/tests/test-utils/png.py 
gedit build/lib.linux-x86_64-3.2/pygame/examples/movieplayer.py 

编译器错误消息中的行号非常适合于从何处开始。需要注意的事项是:

1 remove all references to u"xxxx" colours
2 use Python3 syntax for exceptions
3 change all print commands to Python3 equivalents

然后重新发出最终编译命令:

sudo python3 setup.py install

如果你错过了一两个或者弄错了,只需继续循环编辑并重新编译直到它工作。

BTW我特意没有提供编译器消息的详细信息,因为我希望它们取决于你下载的当前版本。我需要更改的文件是截至本文发布日期的“1.9.2pre”版本。

答案 4 :(得分:-1)

这是因为安装python-pygame软件包会在系统上为默认版本的Python安装它,在本例中为2.6.5。你应该下载pygame包并使用setup.py在3.1.2中安装它。

答案 5 :(得分:-1)

python-pygame包只为python2.6和python2.7编译。您必须再次安装它,可能来自源的python3分支。

答案 6 :(得分:-1)

答案 7 :(得分:-1)

只需使用以下命令为python3安装pygame。我可以在Ubuntu 16.04和Python Python 3.5.2。上正确安装pygame。

pip3安装pygame