Установка 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/