Установка Pygame для Python 3.1.2 в Ubuntu - PullRequest
6 голосов
/ 30 июня 2011

Я читаю книгу Введение в информатику с использованием 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 (проф. Крэйвен использовал Windows в своей книге)? Почему Pygame 1.9.1 работал на Python 3.1.3, но не на 3.1.2?

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

Ответы [ 6 ]

9 голосов
/ 19 апреля 2012

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 работал для меня.)

3 голосов
/ 09 октября 2011

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

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

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

0 голосов
/ 12 июля 2014

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

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

0 голосов
/ 08 июля 2012

Я следовал методу @ Søren, но без числа -u.

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

0 голосов
/ 30 июня 2011

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

0 голосов
/ 30 июня 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...