Próbuję ustawić pakiet z podpakietami w pythonie. Oto struktura drzewo, które mam w tej chwili:Właściwy sposób ustawiania pakietu Pythona z podpakietami
myPackage
├── __init__.py
├── mySubPackage1
│ ├── foo2.py
│ ├── foo.py
│ └── __init__.py
├── mySubPackage2
│ ├── bar2.py
│ ├── bar.py
│ └── __init__.py
└── setup.py
Wszystko __init__.py
są puste. Oto moja setup.py
:
from distutils.core import setup
if __name__ == "__main__":
setup(
name='myPackage',
package_dir = {
'mySubPackage1': 'mySubPackage1',
'mySubPackage2': 'mySubPackage2'},
packages=['mySubPackage1', 'mySubPackage2'],
)
Problem polega na tym, że gdy uruchamiam python setup.py install
z myPackage
, że sub pakiety są instalowane w dist-packages
:
/usr/local/lib/python2.7/dist-packages/mySubPackage1
/usr/local/lib/python2.7/dist-packages/mySubPackage2
Chyba problem jest mój setup.py
, ale Nie wiem jak to naprawić? Powinien być w katalogu nadrzędnym myPackage
? Jeśli tak, to jak to działa, gdy pakuję pakiet w zip
przy użyciu python setup.py sdist
?
Kopiowanie komentarz FoxDot za: Miałeś rację, aby zagnieździć pakietu jak zrobiłeś w odpowiedzi, ale nie musisz określać ścieżek za pomocą argumentu kluczowego package_dir, jeśli nazwy folderów odpowiadają już podpakietom itd. Znacznie lepiej wyjaśnić [tutaj] (https://docs.python.org/2/ distutils/examples.html # pure-python-distribution-by-package). – Richard