0% ont trouvé ce document utile (0 vote)
35 vues2 pages

Art Python Doctor Page Python Path Pythonpath

p

Transféré par

Bernard Gnazou
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
35 vues2 pages

Art Python Doctor Page Python Path Pythonpath

p

Transféré par

Bernard Gnazou
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Python path

Debug
Gestion fichiers et dossiers

Le python path c'est quoi?


Le python path indique à python quels dossiers il doit prendre en compte pour sa recherche de modules. Vous pouvez voir cette liste de cette manière:

>>> import sys


>>> sys.path
['/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',

Vous ne pouvez donc pas faire d'import de module si celui-ci ne se trouve pas dans ces dossiers.

Importer ses modules


Créons le dossier /home/olivier/test , puis le package utils dans ce dossier.

Dans ce package on crée un fichier func.py avec une fonction donne_moi_ton_nom :

func.py

# coding: utf-8

def donne_moi_ton_nom():
return "Olivier"

Essayons d'intégrer notre module depuis notre interpréteur python :

olivier@bigone:~$ python
Python 2.7.6 (default, Mar 22 2019, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from utils.func import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named utils.func

Une erreur apparait: " Le module est introuvable ".

Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Le dossier courant
Il existe une première manière de régler ce problème: exécuter l'interpréteur dans le dossier parent du package :

olivier@bigone:~$ cd test/
olivier@bigone:~/test$ python
Python 2.7.6 (default, Mar 22 2019, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from utils.func import *
>>> donne_moi_ton_nom()
'Olivier'

Alors cela est possible parce que la python path inclu le dossier en cours.

Ajouter un dossier au PYTHONPATH


Une autre manière est d'ajouter le chemin /home/olivier/test au PYTHONPATH . Pour cela, il vous faudra exécuter la commande suivante dans
votre terminal:

olivier@bigone:~$ export PYTHONPATH=$PYTHONPATH:/home/olivier/test

Vérifions le PYTHONPATH dans l'interpréteur:

Python 2.7.6 (default, Mar 22 2019, 22:59:56)


[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/home/olivier', '/home/olivier/test', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python

Parfait, le dossier est bien inclu. Le problème c'est que si vous fermez votre terminal et que vous retournez sur l'interprếteur, le dossier en question
aura disparu du PYTHONPATH.

Ajouter un dossier au PYTHONPATH de manière permanente


Pour rendre cette action pérenne, il vous faudra éditer le fichier /home/olivier/.bashrc et y ajouter la commande:

export PYTHONPATH=$PYTHONPATH:/home/olivier/test

Ainsi cette commande sera executée à chaque ouverture de terminal.

Ajouter un dossier au PYTHONPATH en python


Dernière méthode pour ajouter un dossier au PYTHONPATH: l'indiquer directement dans le code

>>> import sys


>>> sys.path.insert(0, "/home/olivier/scripts")

Cette méthode ne marchera cependant que sur le script en cours.

Debug
Gestion fichiers et dossiers

Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com

Vous aimerez peut-être aussi