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 :
et setup.py :Code:
1
2 def test(): print("Test")
J'installe ce package avec pip, je lance python puis tape ceci dans ma console :Code:
1
2
3
4
5 from setuptools import setup setup(name='pkgtest', packages=['pkgtest'], )
et là tout est OK.Code:
1
2
3
4 from pkgtest import foo foo.test() from pkgtest.foo import test test()
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 :
et dans le __init__.py que j'ai rajouté, je mets :Code:
1
2
3
4
5
6 from setuptools import setup setup(name='pkgtest', packages=['pkgtest'], package_dir={'pkgtest': 'pkgtest/src'}, )
Là,Code:from pkgtest.src import foo
fonctionne, maisCode:from pkgtest import foo
ne fonctionne pas ....Code:from pkgtest.foo import test
Bon si j'écris
ça fonctionne mais le but est de pouvoir s'affranchir d'écrire le "src" pour mes utilisateurs.Code:from pkgtest.src.foo import test
Merci de votre aide.