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
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
$ 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 :
vous aurez probablement des protestations du système.python3 ./config.py
Pour
IMAGE : not found
JPEG : not found
JPEG : not found
Code BASH :
urpmi lib64SDL_image-devel
Pour
AVFORMAT: not found
SWSCALE : 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
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