Установка Pygame для Python 3.1.2 в Ubuntu

Я читаю книгу введение в информатику с использованием Python и Pygame Paul Craven (Примечание: легально доступен бесплатно онлайн). В книге он использует комбинацию 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
>>> 

вы известно о каких-либо проблемах для Python 3.1.2 Linux/Ubuntu (профессор Крейвен использовал Windows в своей книге)? Почему Pygame 1.9.1 работал для Python 3.1.3, но не для 3.1.2?

Спасибо за любые указатели. (--,)

6 ответов


Это потому, что установка python-pygame пакет устанавливает его для версии Python по умолчанию в вашей системе, 2.6.5 в этом случае. Вы должны загрузить пакет pygame и использовать setup.py чтобы установить его в 3.1.2.


PyGame на Python 3 остается экспериментальным, но эти шаги работали для меня на 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 работал для меня.)


Я ненавижу снова открывать старый пост, но мне было труднее всего установить pygame с версией python, которая не была сборкой Ubuntu по умолчанию. Поэтому я создал этот учебник/ how to:

установить python3.1 и pygame1.9.1 в Ubuntu

Я надеюсь, что это поможет следующей несчастной душе попробовать это.


я следовал методу @Søren, но без номера-U.

единственным осложнением было несколько ошибок компиляции в последней строке, все из-за синтаксиса и различий unicode между Python 2 и Python 3, но с небольшой проверкой веб-документации это было делом нескольких минут с текстовым редактором, изменяющим следующие файлы (все пути относительно каталога 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

Если вы пропустите один или два или получите его неправильно, просто продолжайте цикл редактирования и повторной компиляции, пока он не работает.

кстати, я намеренно не дал подробностей сообщений компилятора, потому что я ожидаю, что они будут зависеть от текущей сборки, которую вы загружаете. Файлы мне нужно изменить для версии "1.9.2 предварительно" загружено по состоянию на дату этого сообщения.


пакет python-pygame компилируется только для python2.6 и python2.7 где я. Вам придется установить его снова, возможно, из ветви python3 источника.


смотреть на этот сайт. Это сработало для меня на lubuntu.

http://pythonfun.wordpress.com/2011/08/08/installing-pygame-with-python-3-2-on-ubuntu-11-04/