!
Python path
Accueil › Python avancé › Python path
Debug
Gestion !chiers 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
>>> [Link]
['/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', '/usr/lib/pytho
n2.7/lib-dynload', '/usr/local/lib/python2.7/di
st-packages', '/usr/lib/python2.7/dist-packages
', '/usr/lib/python2.7/dist-packages/PILcompat'
, '/usr/lib/python2.7/dist-packages/gtk-2.0', '
/usr/lib/python2.7/dist-packages/ubuntu-sso-cli
ent']
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 !chier [Link]
avec une fonction donne_moi_ton_nom :
[Link]
# 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, [Link])
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license
" for more information.
>>> from [Link] import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named [Link]
Une erreur apparait: "
Le module est introuvable ".
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, [Link])
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license
" for more information.
>>> from [Link] 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éri!ons le PYTHONPATH dans l'interpréteur:
Python 2.7.6 (default, Mar 22 2019, [Link])
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license
" for more information.
>>> import sys
>>> [Link]
['', '/home/olivier', '/home/olivier/test', '/u
sr/lib/python2.7', '/usr/lib/python2.7/plat-x86
_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/
usr/lib/python2.7/lib-old', '/usr/lib/python2.7
/lib-dynload', '/usr/local/lib/python2.7/dist-p
ackages', '/usr/lib/python2.7/dist-packages', '
/usr/lib/python2.7/dist-packages/PILcompat', '/
usr/lib/python2.7/dist-packages/gtk-2.0', '/usr
/lib/python2.7/dist-packages/ubuntu-sso-client'
]
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 !chier /home/olivier/.bashrc et y
ajouter la commande:
export PYTHONPATH=$PYTHONPATH:/home/olivier/tes
t
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
>>> [Link](0, "/home/olivier/scripts")
Cette méthode ne marchera cependant que sur
le script en cours.
Livres Python & Django: conseils de lecture
Debug
Gestion !chiers et dossiers
Python débutant
Présentation Python
Installer Python
Interpréteur python
IDE Editeurs python
Calculs et variables
Les listes
Les tuples
Les dictionnaires
Les fonctions
Les fonctions natives
Conditions if elif else
Boucle for / while
Les modules/packages
Les exceptions
Les compréhensions de liste
Programmation orientée objet
Les décorateurs
Les itérateurs/générateurs
Expressions régulières
Lire / Editer un !chier
PEP 8 / bonnes pratiques
Black formateur de code
Python avancé
Di"érences python 2 / 3
Encodage python
Pip installe vos librairies
Virtualenv
Debug
Python Path
Gestion !chiers et dossiers
Interface graphique tKinter
Graphiques scienti!ques
Programmation asynchrone
XML et python
BeautifulSoup / HTML parser
Créer un exécutable
Dossier partagé / samba
FTP
Fabric SSH
Envoyer un mail SMTP
Réseau / socket
Base de données
Créer un serveur web
Websocket & Crossbar
Générateur de site statique
Django
Présentation Django
Installer Django
Initialiser un projet Django
Créer une application Django
ORM Django
Login Django
Les champs des modèles
Interface admin Django
Queryset
Many to many relation
Les vues
Les formulaires
CSRF Token
Les middlewares
Templates Django
Context Processor
Signaux Django
Xadmin
Django select2
Crispy Forms
AngularJS et Django
Uploader un !chier en ajax
Django Rest Framework
Django déploiement
Raspberry Pi
Présentation Raspberry pi
Installer Raspbian
IP statique
Samba / partager un dossier
Lire vidéo 1080p
Installer VPN
Client torrent
Site
Contacter l'auteur
Mentions légales
Apprendre programmation cours python 3
Django internet web - Documentation débutant
et expert
Version anglaise