web-dev-qa-db-fra.com

Que contient mon PYTHONPATH?

Je travaille sur certaines bibliothèques personnelles python et je dois afficher ce que contient PYTHONPATH, puis le manipuler.

6
Niccolò

Généralement, la variable d'environnement $PYTHONPATH est vide (essayez echo $PYTHONPATH). La liste actuelle des dossiers python recherches de bibliothèques peut être trouvée avec (en python):

import sys
print(sys.path)

Cela consistera (dans l'ordre de recherche) du répertoire en cours, tous les répertoires de votre $PYTHONPATH, et enfin les répertoires de bibliothèque par défaut, définis par site.py. Les emplacements par défaut principaux sont (où X.Y est la version python, par exemple 2.7):

/usr/lib/pythonX.Y (python system libraries, eg re, urllib)
/usr/lib/pythonX.Y/dist-packages (python libraries installed with deb packages)

Si vous utilisez pip install --user ou similaire pour installer les bibliothèques vous-même, il contiendra également le répertoire de la bibliothèque utilisateur:

/home/USERNAME/.local/lib/pythonX.Y/site-packages

Vous pouvez manipuler PYTHONPATHen définissant la variable d'environnement avant de lancer python (PYTHONPATH=$PYTHONPATH:/foo/bar) ou en modifiant le sys.path une fois que vous avez lancé python (import sys; sys.path = ["/foo/bar"] + sys.path).

Toutefois, si vous souhaitez jouer avec vos propres bibliothèques python, une bonne idée est de créer un virtualenvname__. C'est un répertoire dans lequel vous pouvez jouer avec vos propres versions des bibliothèques python sans risquer de gâcher les bibliothèques python utilisées par le système. Voir Comment configurer et utiliser un environnement virtuel python dans Ubuntu? pour obtenir des informations sur la création et l'utilisation d'un virtualenv.

11
chronitis