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