Installer et importer Pygame

L’auteur de ce contenu recherche un repreneur. N’hésitez pas à le contacter par MP pour proposer votre aide !

Dans ce chapitre, nous allons installer Pygame, puis découvrir comment importer Pygame, et quelques modules (déjà livrés avec Pygame, n’ayez pas peur ;) ), ainsi que l’utilité des dits modules.

Installer Pygame

Allez hop, on met les mains dans le cambouis !

Windows

Si vous avez une vieille version de Pygame, voici quelques liens d’installations, mais nous recommandons fortement de passer à Python 3.6

Pygame pour Python 3.4 : téléchargement

Pygame pour Python 3.2 : téléchargement

On va passer par pip pour installer Pygame. Pour cela, il faut ouvrir un terminal (Win+R puis cmd, puis Entrée), et on va taper ceci : python -m pip install pygame

Si pip vous dit ceci : Requirement already satisfied (use --upgrade to upgrade): pygame in c:\python34\lib\site-packages, c’est que Pygame est déjà installé sur votre machine. Sinon si vous obtenez

’python’ n’est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.

de la part de votre invite de commande, essayez py -3.6 -m pip install pygame, c’est que vous devez avoir plusieurs versions de Python installées (ou qu’il n’est pas dans votre PATH).

Linux (Debian et dérivés)

Pour les durs qui veulent tout installer à la main :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# On installe les dépendances
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

# On récupère Pygame depuis son dépôt
hg clone https://bitbucket.org/pygame/pygame

# On le construit et on l'installe
cd pygame
python3 setup.py build
sudo python3 setup.py install

# On supprime le dossier pygame inutile
cd
rm -rf pygame

Si comme nous vous êtes fainéant :

1
2
3
4
5
6
7
sudo apt-get install -y python3-pip
sudo apt-get install -y \
    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 \
    libfreetype6-dev
sudo pip3 install -q pygame

Les manipulations pour installer Pygame sous Linux ont été testées sur un L-o-W (Linux-on-Windows), si jamais quelque chose ne fonctionne pas chez vous, n’hésitez pas à créer un sujet sur le forum !

Import pygame

Ça y est ! Nous y sommes. Le moment où l’on va pouvoir se rendre compte si vous avez bien installé Pygame ou … si vous devez recommencer son installation >_<

Ouvrez un interpréteur python, et tapez :

1
>>> import pygame

Si tout se passe bien, Python ne devrait même pas broncher. En revanche, s’il vous sort un magnifique :

1
2
3
4
>>> import pygame
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'pygame'

C’est qu’il va vous falloir recommencer l’installation (pensez à regarder ce que pip/apt-get/votre-outil-pour-installer-Pygame a dit en installant Pygame, il y a souvent des traces à propos des erreurs lors de l’installation).

Pour ceux dont l’installation s’est bien passée, on peut passer à la suite :soleil: !

Vérifier qu'un module a bien été importé

Parfois, il peut être utile de savoir si un module a été importé correctement.

Bon, on a dit parfois. Cela ne veut pas forcément dire qu’il faut le faire, juste que c’est une chose à savoir :)

Par exemple, si votre programme est destiné à tourner sous Linux, système où lors de l’installation de Pygame, certains modules ne sont pas forcément installés (car optionnels), vous pourriez donc avoir des surprises.

Passons donc aux méthodes :

  • en appelant pygame.init(), celui-ci nous retourne un tuple, par exemple (6, 0). Cela veut dire : 6 modules chargés, 0 échecs. C’est un début de piste pour vérifier si un module n’a pu être chargé, il suffit de tester pygame.init()[1] == 0 (on ne le fait pas comme ça, directement surtout ! Il faut stocker le retour de pygame.init() dans une variable et faire les tests ensuite sur cette variable)

Pygame n’est pas très uniforme dans ses fonctions. En effet certains modules bénéficient de la méthode get_init() tandis que d’autres ont la méthode was_init(). A utiliser avec prudence dans un bloc try & except, donc.

  • si l’on veut tester l’initialisation d’un module spécifique, on utilisera plutôt pygame.module.was_init() (qui retourne un bool)

Et pour initialiser un module à la main, on fera ceci : pygame.module.init()


Voilà, maintenant vous savez comment importer Pygame. C’était compliqué pas vrai :lol: ?

Allez, on peut passer à la suite !