Python

IInstaller Pygame pour Python 3

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Dernière mise à jour : 24/08/2017 à 00h07
Table des matières

Installer Pygame pour Python 3 (Mageia 5, 6)



Pygame est une bibliothèque libre multiplate-forme qui facilite le développement de jeux vidéo temps réel avec le langage de programmation Python.

Introduction


Le jeu jeu ultime ! Une seule bouteille de whisky a suffit à faire éclore votre génie.
Vous allez le codez en Python 3 et Pygame.

C'est simple
urpmi python-pygame

et voilà !

Non.
À l'heure actuelle, 23/08/17, le rpm est python-pygame-1.9.1-16.mga6. Et cette version de pygame, 1.9.1, n'est pas compatible avec Python3.

Il vous faut la 1.9.2

La solution de facilité


Vous téléchargez la version 1.9.2 que j'ai construite (« buildée ») pour ma Mageia 6 64 bits.
Vous décompressez, et changez pour le bon répertoire.
Vous installez avec, en root,
Code BASH :
# python3 setup.py install

Il est peu probable que cette archive fonctionne en 32 bits.
Vous devrez installer au moins les rpm suivants :
lib64smpeg0.4_0-0.4.5-8.mga6.x86_64
lib64SDL_ttf2.0_0-2.0.11-8.mga6.x86_64
lib64SDL_mixer1.2_0-1.2.12-10.mga6.x86_64
lib64SDL_image1.2_0-1.2.12-9.mga6.x86_64
lib64mikmod3-3.3.11-1.mga6.x86_64


Construire sa propre version


C'est moins simple. Mais ça vous évite de placer votre confiance en un individu qui rode sur le web.

Utiliser cette version pygame-1.9.2-pre-master.zip.
IL s'agit de la version officielle qu'il faudra adapter à votre système.
Décompresser, ensuite les commandes à exécuter seront :
$ cd /home/dom/tmp/pygame-1.9.2-pre-master
$ python3 ./config.py
$ 2to3 setup.py -w
$ python3 setup.py build
# python3 setup.py install

Cependant, les dépendances à compléter seront (probablement) considérables.

Dépendances



Code BASH :
urpmi lib64SDL-devel
urpmi libSDL_ttf-devel libSDL_image-devel
urpmi lib64SDL_mixer-devel
urpmi lib64smpeg-devel
urpmi lib64portmidi-devel-217-6.mga4.x86_64


Après la commande
Code BASH :
python3 ./config.py
vous aurez probablement des protestations du système.
Pour
IMAGE : not found
JPEG : not found

Code BASH :
urpmi lib64SDL_image-devel

Pour
AVFORMAT: not found
SWSCALE : not found

Code BASH :
urpmi lib64ffmpeg-devel-2.4.9-1.mga5.tainted.x86_64

Pour
In file included from src/imageext.c:47:0:
src/pygame.h:80:20: erreur fatale : Python.h : Aucun fichier ou dossier de ce type

Corrigé avec
Code BASH :
urpmi lib64python3-devel


Bilan



Code BASH :
[meuz@localhost pygame-1.9.2-pre-master]$ python3 ./config.py
Using UNIX configuration...
Hunting dependencies...
SDL     : found 1.2.15
FONT    : found
IMAGE   : found
MIXER   : found
SMPEG   : found 0.4.5
PNG     : found
JPEG    : found
SCRAP   : found
PORTMIDI: found
PORTTIME: found
AVFORMAT: found
SWSCALE : found
FREETYPE: found 2.5.4
If you get compiler errors during install, doublecheck
the compiler flags in the "Setup" file.


Donc, c'est bon.
On peut « buider »
Code BASH :
python3 setup.py build

Correction du bug



Car il y a un bug. En fin au moins un.
# bug gcc : Compilation error - can't find -lporttime

Résolu par le lien symbolique.
Code BASH :
ln -s  /usr/lib64/libportmidi.so /usr/lib64/libporttime.so

Une fois ce problème réglé, on peut installer (en root)
Code BASH :
# python3 setup.py install

Remarques générales


Les dépendances que j'ai mentionnées sont celles que j'ai relevées au cours de la construction et l'installation du paquet python pygame sur ma machine.

Il est possible, et même probable, que les dépendances soient plus ou moins importantes selon ce qui est déjà installé sur votre machine.

Cette démarche devrait fonctionner en 32 bits, Cependant je ne puis être affirmatif, je le répète, je n'ai fait qu'une installation sous Mageia 5 et 6 en 64 bits.

Webographie


Pygame
Wikipedia Pygame
Problème d’installation de Pygame sous Ubuntu


Meuz