web-dev-qa-db-fra.com

Ajout permanent d’un chemin de fichier à sys.path dans Python

J'ai eu un fichier appelé example_file.py, que je voulais utiliser à partir de divers autres fichiers, j’ai donc décidé d’ajouter example_file.py à sys.path et importez ce fichier dans un autre fichier pour l'utiliser. Pour ce faire, j'ai exécuté ce qui suit sous IPython.

import sys
sys.path
sys.path.append('/path/to/the/example_file.py')
print(sys.path)

Je pouvais voir le chemin que je venais d'ajouter, et quand j'ai essayé d'importer ce fichier depuis un autre chemin de répertoire comme celui-ci:

import example_file

cela a très bien fonctionné, mais une fois sorti d’IPython, j’y suis retourné et j’ai vérifié le sys.path, J'ai vu que le chemin que j'avais ajouté n'était pas présent, alors comment puis-je ajouter un chemin à sys.path de manière permanente en Python?

72

Il y a plusieurs façons. Un des plus simples est de créer un my-paths.pth fichier (comme décrit ici ). Ceci est juste un fichier avec l'extension .pth que vous avez mis dans votre système site-packages répertoire. Sur chaque ligne du fichier, vous mettez un nom de répertoire afin que vous puissiez y insérer une ligne avec /path/to/the/ et il ajoutera ce répertoire au chemin.

Vous pouvez également utiliser la variable d’environnement PYTHONPATH, qui ressemble à la variable système PATH mais contient des répertoires qui seront ajoutés à sys.path. Voir la documentation .

Notez que peu importe ce que vous faites, sys.path contient des répertoires , mais pas des fichiers. Vous ne pouvez pas "ajouter un fichier à sys.path ". Vous ajoutez toujours son répertoire et vous pouvez ensuite importer le fichier.

75
BrenBarn