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 !
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 testerpygame.init()[1] == 0
(on ne le fait pas comme ça, directement surtout ! Il faut stocker le retour depygame.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 unbool
)
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 ?
Allez, on peut passer à la suite !