fbpixel
Étiquettes :
0
(0)

Nous allons voir dans ce tutoriels quelles sont les bonnes pratiques pour agencez un projet Python en vue de le partager et de le déployer.

Que ce soit pour un logiciel, une librairie, une interface graphique type web app ou mobile app, si vous souhaitez partager votre travail, il vous faut l’organiser et le documenter correctement.

Vous pouvez appliquer ces pratiques sur le projet Moniteur Série

Créer un environnement virtuel

Lorsque vous souhaitez créer un projet que vous allez partager et maintenir sur le long terme, il est primordiale de l’intégrer dans un environnement virtuel afin d’isoler ses dépendances (librairies utilisées, versions, etc.).

Sous Windows, assurez-vous que la version de python que vous utilisez peut être appelé avec python.exe

  • python -m pip install python3-venv –> pour installer
  • python -m venv venv –> créer un environnement virtuel
  • source venv/bin/activate –> activer l’environnement
  • deactivate –> désactiver l’environnement

N.B.: Sous Windows, pour ouvrir la console à l’endroit voulu, vous pouvez créer un fichier start_console.bat dans lequel vous copier la commande

start cmd.exe

Vous pouvez exécuter le fichier avec un double-clic pour ouvrir le terminal

Une fois l’environnement créé, vous pouvez rajouter ou supprimer des paquets

pip install <package_name>
pip install <package_name>==<version>
pip uninstall <package_name>

Et garder une trace des paquets et versions utilisés dans le fichier requirements.txt

pip freeze > requirements.txt

Architecture de dossier d’un projet Python

D’après les recommandations de Kenneth Reitz, voici la structure de dossier à adopter.

  • Si votre projet ne comprends qu’un fichier
helloworld/
│
├── .gitignore
├── helloworld.py
├── LICENSE
├── README.md
├── requirements.txt
├── setup.py
└── tests.py
  • Pour des projets plus complexes contenant différents modules
sample
│
├── docs
│   ├── conf.py
│   ├── index.rst
├── sample
│   ├── __init__.py
│   ├── core.py
│   ├── helpers.py
├── tests
│   ├── test_basic.py
│   ├── test_advanced.py
├── LICENSE
├── README.md
├── requirements.txt
├── setup.py

N.B.: Pour afficher l’arborescence de votre dossier, vous pouvez utiliser la commande tree /f à la racine du projet

Vous êtes, en pratique, assez libre pour créer l’architecture de dossier. L’important est que ce soit fonctionnel, modulable et organisé.

Voici une description des fichiers essentiels de l’architecture

  • sample.py ou sample: contient le code source avec un ou plusieurs module
  • README: description du projet, guide d’installation, source et exemple. Évolutions éventuelles
  • LICENSE: contient licence et copyrights sous lesquelles vous publiez le code
  • requirements.txt: contient toutes les dépendances et version que nécessitent le script
  • setup.py : gère la distribution et la construction du projet Python
  • docs: contient la documentation du projet
  • tests: contient les scripts de test du projet

Une fois cette architecture mise en place, vous pouvez l’utilisez et l’adapter pour tous vos projets Python

Sources

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?