Vous êtes sur la page 1sur 1

!

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


>>> 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', '/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 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 ".

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éri!ons 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', '/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


>>> sys.path.insert(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

Vous aimerez peut-être aussi