[Python] packager une arborescence de source

Fermé
tinoeldorados - 13 août 2008 à 16:01
 tinoeldorados - 14 août 2008 à 14:42
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
A voir également:

3 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
13 août 2008 à 17:22
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
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
14 août 2008 à 14:26
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
0
tinoeldorados
14 août 2008 à 14:42
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 ...
0