我正在阅读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?
感谢您的任何指示。 ( - )
答案 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)
Install python3.1 and pygame1.9.1 in Ubuntu
我希望这有助于下一个不幸的灵魂尝试这个。
答案 2 :(得分:1)
我使用 Ubuntu 16.04.7上的pip3
(用于安装和管理Python软件包的工具)命令很容易地为python3安装了 pygame LTS 。
sudo apt install python3-pip
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)
看看这个网站。这在lubuntu上对我有用。
http://pythonfun.wordpress.com/2011/08/08/installing-pygame-with-python-3-2-on-ubuntu-11-04/
答案 7 :(得分:-1)
只需使用以下命令为python3安装pygame。我可以在Ubuntu 16.04和Python Python 3.5.2。上正确安装pygame。
pip3安装pygame