$ python
Python 2.7.8 (default, Apr 15 2015, 09:26:43)
[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import paquet.fichier
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named paquet.fichier
Maintenant, si ta structure de répertoire ressemble à ça :
$ tree
.
└── paquet
├── fichier.py
└── __init__.py
Tu peux faire :
$ python
Python 2.7.8 (default, Apr 15 2015, 09:26:43)
[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import paquet.fichier
>>> paquet.fichier
<module 'paquet.fichier' from 'paquet/fichier.py'>
Le fichier __init__.py sera le racine de ton paquet. Par exemple :
$ cat paquet/__init__.py
valeur = 1
$ python
Python 2.7.8 (default, Apr 15 2015, 09:26:43)
[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import paquet
>>> paquet
<module 'paquet' from 'paquet/__init__.py'>
>>> paquet.valeur
1
À la question « pourquoi avoir des import dans ce fichier? » En général c'est pour rendre disponible des fonction/classes qui sont enfoncées profondément dans ton paquet, et les rendre disponible à la racine.
Comme ceci (NOQA est un commentaire très souvent utilisé pour éviter que pyflakes ne signale les import inutiles) :
$ tree
.
└── paquet
├── fichier.py
├── __init__.py
└── souspaquet
├── __init__.py
└── sousfichier.py
2 directories, 6 files
$ cat paquet/__init__.py
from .souspaquet.sousfichier import fonction # NOQA
$ cat paquet/souspaquet/sousfichier.py
def fonction(a, b):
return (a * a) + (b * b)
$ pythona
Python 2.7.8 (default, Apr 15 2015, 09:26:43)
[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from paquet import fonction
>>> fonction(2, 3)
13
Ruby est le résultat d'un gamin qui apprend le Java, puis jette un œil à Perl et se dit « je peux le réparer! »
# Gestion de paquet
Posté par Ife . En réponse au message python , fichier __init__py & virtualenv .. Évalué à 1.
__init__.pyest un fichier qui défini des paquets python.Par exemple, si ta structure de répertoires ressemble à ça :
Et que tu lance python dans le répertoire
..Maintenant, si ta structure de répertoire ressemble à ça :
Tu peux faire :
Le fichier
__init__.pysera le racine de ton paquet. Par exemple :À la question « pourquoi avoir des import dans ce fichier? » En général c'est pour rendre disponible des fonction/classes qui sont enfoncées profondément dans ton paquet, et les rendre disponible à la racine.
Comme ceci (
NOQAest un commentaire très souvent utilisé pour éviter que pyflakes ne signale les import inutiles) :Ruby est le résultat d'un gamin qui apprend le Java, puis jette un œil à Perl et se dit « je peux le réparer! »