[Python] packager une arborescence de source

Bonjour,

J'ai une arborescende fichier source
genre

toto/
tata/
un.py
class un(object) :
__init__():
print "yes"

deux.py
trois.py
tutu/
quatre.py

etc etc

et je voudrais pouvoir faire un import du genre :

import toto

et ensuite pouvoir faire

mavariable = un()

La je suis oblige de passe par

from toto.tata.un import *

mais il faut connaitre toute l'arborescence ???

Merci
Configuration: Linux
Mozilla 1.8.1.14

3 réponses

  1. Contributeur
    Salut,
    Je dirais plutôt qu'il faut que tu mettes ton fichier dans le répertoire de base de python, sinon python ne sait pas quoi inclure ;)
    Cdt
    1. Modérateur
      Tout à fait exact !

      C'est à ça que sert le répertoire Lib\site-packages

      Le package doit être installé dans un sous-répertoire.
      Le nom du sous-répertoire correspondra au nom de l'import que tu as à faire.

      Regarde aussi du côté des setuptools: Ce sont des outils Python conçus pour packager une arbo de source (et justement permettre l'installation facile dans site-packages en tapant python setup.py install)

      Voir:
      https://pypi.org/project/setuptools/
      https://www.ianbicking.org/docs/setuptools-presentation/
      http://peak.telecommunity.com/DevCenter/setuptools
      1. Merci de vos reponses ....

        Je pensais pouvoir faire comme une libraire en C, un gros "fourre tout"

        mais j'ai l'impression que cela ne fonctionne pas en python ...