Bonjour à tous.
Je me lance dans la distribution de l'un de mes codes sous la forme d'un package donc.
Pour l'instant démarrons comme suit :
PkgTest
..|_setup.py
..|_pkgtest
......|_ __init__.py (fichier vide)
......|_foo.py
foo.py contient :
1 2
| def test():
print("Test") |
et setup.py :
1 2 3 4 5
| from setuptools import setup
setup(name='pkgtest',
packages=['pkgtest'],
) |
J'installe ce package avec pip, je lance python puis tape ceci dans ma console :
1 2 3 4
| from pkgtest import foo
foo.test()
from pkgtest.foo import test
test() |
et là tout est OK.
Maintenant je rajoute un peu de structure dans mes fichiers :
PkgTest
..|_setup.py
..|_pkgtest
.......|_ __init__.py
.......|_examples (un dossier vide pour l'instant)
.......|_src
............|_ __init__.py (fichier vide)
............|_foo.py
foo.py est inchangé et setup.py devient :
1 2 3 4 5 6
| from setuptools import setup
setup(name='pkgtest',
packages=['pkgtest'],
package_dir={'pkgtest': 'pkgtest/src'},
) |
et dans le __init__.py que j'ai rajouté, je mets :
from pkgtest.src import foo
Là, fonctionne, mais
from pkgtest.foo import test
ne fonctionne pas ....
Bon si j'écris
from pkgtest.src.foo import test
ça fonctionne mais le but est de pouvoir s'affranchir d'écrire le "src" pour mes utilisateurs.
Merci de votre aide.
Partager