KDevelop-python et pygame

Temps de lecture : 2 minutes

J'apprends actuellement à programmer en python (python 3) avec un KDevelop, un IDE complet. Je développe un jeu de cartes qui s'appelle Odysseus. J'utilise pygame pour la partie graphique.

Après quelques tests, j'ai voulu passer à pygame 2 (2.0.0.dev6) et python 3.8. Pour le challenge avec python 3.8 (utiliser Kdevelop avec une version différente que la version python3 par défaut). Pour pygame, j'ai voulu continuer le développement du jeu avec la version qui utilise SDL 2.0 (et pas SDL 1.2) et offre ainsi des outils pour utiliser des écrans tactiles (genre ACER S1003 sous Fedora 🙂 ) et l'accélération matérielle.

Installation de KDevelop

KDevelop est un IDE créé pour programmer en C ++ / C mais qui a été étendu à d'autres langages comme python, javascript, php etc.

Pour en savoir plus : https://www.kdevelop.org/

KDE Neon dans sa version utilisateur offre la dernière version des logiciels KDE. KDevelop est en version 5.5.0

L'installation de KDevelop se fait simplement.

Il faut installer (par ligne de commande ou avec l'application graphique Discover) l'application KDevelop et le module KDevelop-python (Dans Discover taper kdevelop dans la barre de recherche).

Cet article n'est pas un article d'initiation à KDevelop, voire plutôt la documentation officielle :

https://userbase.kde.org/KDevelop5/Manual/fr

La version française de la documentation est essentiellement en anglais sauf pour les titres.

Python sur KDE Neon

KDE Neon est basée sur Ubuntu 18.04 (même si la version 20.04 d'Ubuntu est sortie, j'imagine que la mise à jour de KDE Neon se fera plus tard, sans doute avec une nouvelle version de KDE).

Pour utiliser python 3.8, il faut d'abord l'installer : sudo apt install python3.8

Vérification des versions présentes sur Neon:

olivier@olivier-All-Series:~$ python --version
Python 2.7.17
olivier@olivier-All-Series:~$ python3 --version
Python 3.6.9
olivier@olivier-All-Series:~$ python3.8 --version
Python 3.8.0

Passer à python 3.8 sur KDevelop

Par défaut, Kdevelop utilise python (donc python 2), si on veut utiliser python 3, il faut l'indiquer dans la configuration.
Aller dans le menu Exécuter->Configurer les lanceurs :

Pour utiliser python 2 : taper python (normalement la version par défaut), pour utiliser python3, taper python3 (qui est un alias de python 3.6) et pour utiliser python3.8, taper python3.8

Cela fonctionne directement car python 3.8 est installé via les dépôts KDE Neon.

KDevelop n'apporte par une gestion des environnements virtuels comme le ferait PyCharm. Par contre il offre une version gratuite et complète d'un IDE python (mieux que la version community de PyCharm).

Installer pygame 2.0.0.dev6

Pour tout savoir de pygame : https://www.pygame.org

Pour installer pygame 2 pour python 3.8, dans un terminal, taper :

olivier@olivier-All-Series:~$ python3.8 -m pip install pygame==2.0.0.dev6
Collecting pygame==2.0.0.dev10
Downloading https://files.pythonhosted.org/packages/9c/d0/cc5a31a89de898430f9643cfb30f5d1bcc4a8eef2df6a11c48de45d6d85c/pygame-2.0.0.dev6-cp38-cp38-manylinux1_x86_64.whl (15.3MB)
100% |████████████████████████████████| 15.3MB 101kB/s
Installing collected packages: pygame
Successfully installed pygame-2.0.0.dev6

Test

Test sur le programme Odysseus qui fonctionne déjà avec pygame 1.9.6 et python 3 par défaut. Le test consiste à faire un lancement d'Odysseus après changement de la version de python dans le lanceur.

Vérification dans le terminal d’exécution intégré à KDevelop:

Démarrage : python3.8 /home/olivier/projects/odysseus/odysseus.py
pygame 2.0.0.dev6 (SDL 2.0.10, python 3.8.0)

Cela fonctionne du premier coup sans rien changer au code, même l'appel à pygame reste le même :

import pygame

Happy coding...