Comment ajouter un nouveau chemin à votre PYTHONPATH pour importer vos propres modules en python ?

Published: 27 juillet 2021

Tags: Python; PYTHONPATH; Python Module; Python Package;

DMCA.com Protection Status

Exemple de comment ajouter un nouveau chemin à votre PYTHONPATH pour importer vos propres modules en python

Introduction

Par exemple, j'ai sur mon ordinateur local un répertoire appelé "github_projects" (situé dans le chemin suivant "/Users/John/github_projects") où j'ai stocké tous mes propres modules python que je développe :

github_projects/
        project_01/
        project_02/
        project_03/
        .
        .
        .

Cependant, si j'essaie d'importer un module python depuis un autre répertoire sur mon ordinateur, le message d'erreur suivant s'affichera :

>>> import project_01
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'project_01'

Nous obtenons ce message d'erreur ici car python ne sait pas où trouver le module python project_01. Une solution simple pour vérifier cela est de regarder sys.path :

>>> import sys
>>> sys.path

renvoie par exemple dans mon cas :

['', '/Users/John/anaconda3/lib/python36.zip', '/Users/John/anaconda3/lib/python3.6', '/Users/John/anaconda3/lib/python3.6/lib-dynload', '/Users/John/anaconda3/lib/python3.6/site-packages', '/Users/John/anaconda3/lib/python3.6/site-packages/aeosa']

pouvez également vérifier votre PYTHONPATH en utilisant le module python os:

>>> import os
>>> os.environ['PYTHONPATH']

Une autre solution pour vérifier votre PYTHONPATH est de saisir directement

echo $PYTHONPATH

dans votre terminal (pas dans votre interpréteur python !).

Ajouter un nouveau chemin à votre PYTHONPATH

Pour ajouter un nouveau chemin à votre PYTHONPATH, cela dépendra de votre shell (j'ai utilisé ci-après bash shell ). Pour obtenir votre shell, entrez simplement

echo $SHELL

donne par exemple

/bin/bash

Pour ajouter temporairement un nouveau chemin dans votre PYTHONPATH :

export PYTHONPATH="/Users/John/github_projects"

Pour vérifier si le chemin a bien été ajouté:

echo $PYTHONPATH

il devrait y avoir maintenant :

"/Users/John/github_projects"

et vous pouvez maintenant démarrer python (dans la même fenêtre que vous avez entré "export PYTHONPATH="/Users/John/github_projects") et essayer d'importer votre module :

>>> import project_01

Une autre solution pour rendre cela plus permanent, il suffit d'ouvrir le

.bash_profile

fichier et d'ajouter la ligne suivante :

export PYTHONPATH="/Users/John/github_projects"

Il ajoutera alors automatiquement "/Users/John/github_projects" à votre PYTHONPATH chaque fois que vous ouvrirez une nouvelle fenêtre dans votre terminal.

Recharger un module python

Note: un autre outil intéressant est de pouvoir recharger votre module python (>3.4) :

import importlib
importlib.reload(module)

Vous n'avez donc pas besoin de redémarrer python à chaque fois que vous apportez des modifications à votre module python, par exemple "project_01". Il vous suffit de recharger celui-ci:

import importlib
importlib.reload(project_01)

Références