Bagaimana saya bisa mendapatkan pygame untuk Python3?

9

Ada paket (python-pygame) untuk Python2 tersedia dari repositori universe. Namun, saya ingin mengerjakan tutorial di buku Invent with Python . Melalui SPM (Synaptic), saya tidak dapat menemukan sumber daya pygame untuk Python3.

Juga, saya melihat situs web Pygame dan tidak jelas apakah Pygame tersedia untuk Python3 (meskipun buku ini menunjukkan bahwa itu adalah).

Bisakah seseorang membantu saya dengan dilema saya?

TheGeeko61
sumber
IMPORTANT_MOVED.txtsepertinya ... penting. Jadi saya mengubah svn...jalur kehg clone https://bitbucket.org/pygame/pygame
Oleh Prypin
Coba jawaban ini di Stack Overflow . Ini bekerja dengan baik untuk saya (minus bagian di mana saya lupa menyalin dan menempelkan perintah apt-get dengan dependensi dan harus memburu dan menginstalnya dengan tangan ).
Fouric

Jawaban:

6

Dari Pygame wiki :

Apakah Pygame berfungsi dengan Python 3?

Iya. Pygame 1.9.2 mendukung Python 3.2 dan lebih tinggi. Hanya modul _movie yatim piatu (tidak dibangun secara default) yang tidak.

Namun, tampaknya tidak ada paket Pygame yang sudah dikemas untuk Python 3 di repositori Ubuntu, setidaknya pada 14,04.

Saya akan menyarankan Anda untuk mendapatkan paket sumber dari situs pygame dan menginstalnya secara lokal ke virtualenv atau buildout. Bagaimanapun juga, secara global menginstal modul python dalam kejahatan :) Berikut adalah instruksinya: http://www.pygame.org/wiki/CompileUbuntu

Atau Anda dapat mencoba PPA ini: https://launchpad.net/~thopiekar/+archive/ubuntu/pygame

Sergey
sumber
Terima kasih untuk sarannya! Saya telah memposting langkah-langkah di pertanyaan awal untuk jawaban eksplisit.
TheGeeko61
@ TheGeeko61: Saya pikir Anda harus memposting itu sebagai jawaban, itu tidak "buruk" dengan cara apa pun.
Oleh Prypin
Baiklah, saya melakukannya ...
TheGeeko61
Tidak lagi terkini
Jonathan
@ JonathanLeaders: Tidak terlalu ketinggalan zaman: masih belum ada paket yang telah dikompilasi dan Anda masih harus menginstal dari sumber. Saya telah menambahkan beberapa tautan ke jawabannya.
Sergey
4

Thanks to Sergey's suggestion, this is how to get it working:
INSTALL
(1) Move to a directory where you want the source code to be downloaded to
(2) svn co svn://seul.org/svn/pygame/trunk pygame
    NOTE:  Be sure to use the svn method.  Simply downloading the pygame*.tar.gz
           file from the pygame downloads page didn't work!
(3) cd pygame
(4) python3 config.py
    NOTE:  This confirms that you have the dependencies.
(5) python3 setup.py build
(6) sudo python3 setup.py install
    NOTE:  On my machine, I have the distro's python3.2 installed (which is in
           the /usr/lib directory).  This step places the pygame module into
           /usr/local/lib -- which is what you want (per Sergey's suggestion).

TEST
(1) python3
(2) At the '>>>' prompt, type "import pygame"
    VALIDATION:  If you get another '>>>' prompt, all is well.

per BlaXpirit, Anda juga dapat memilih untuk menggunakan hg daripada svn:

hg clone https://bitbucket.org/pygame/pygame

TheGeeko61
sumber
1

Seseorang perlu membuat python3-pygamepaket yang melakukan ini, tetapi belum ada yang belum

sudo apt-get install mercurial python3-dev python3-numpy libav-tools \
    libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsmpeg-dev \
    libsdl1.2-dev  libportmidi-dev libswscale-dev libavformat-dev libavcodec-dev
hg clone https://bitbucket.org/pygame/pygame
cd pygame
python3 setup.py build
sudo python3 setup.py install
Jonathan
sumber
0

Sekali lagi terima kasih untuk semuanya.

Baru saja melakukan instalasi bersih Mint 18 Cinnamon 64bit, dan mengikuti pos TheGeek61 di atas untuk membuat Pygame bekerja kembali.

Tetapi ketika saya mencoba python3 setup.py buildmenemukan kesalahan:

Traceback (most recent call last):
  File "setup.py", line 109, in <module>
    from setuptools import setup, find_packages
ImportError: No module named 'setuptools'

Setelah beberapa pencarian, jalankan yang berikut:

sudo pip install -U setuptools

Yang kemudian memungkinkan Pygame untuk Python3 untuk menginstal berhasil.

Abisdad
sumber