Ich habe versucht, mein Projekt mit setup.py zu packen, aber ich lief in einen Haken.Python Submodule nicht sichtbar nach dem Verpacken
Meine Dateistruktur ist wie folgt:
root/
mypackage/
__init__.py
mysubmodule1/
__init__.py
mysubmodule2/
__init__.py
ich die folgende Konfiguration in meinem setup.py verwenden,
from setuptools import setup, find_packages
# To use a consistent encoding
from os import path
import glob
here = path.abspath(path.dirname(__file__))
print(find_packages(exclude=['docs', 'tests*']))
setup(
name='mypackage',
packages=find_packages(exclude=['contrib', 'docs', 'tests*']),
install_requires=[...],
scripts=[...],
)
ich das Paket mit Python bauen setup.py installieren In einem virtualenv, die Debug-Zeile, die ich gedruckt habe, zeigte, dass find_packages alle meine pacakges gefunden.
['mypackage', 'mypackage.submodule1', 'mypackage.submodule2']
Wenn ich mein Paket zu importieren, versuchte ich mypackage.submodule1.class, aber das warf ein Modul nicht Ausnahme gefunden zu importieren. Ich habe überprüft, dass alle meine Module im Ausgabe-Ei in den virtualenv Site-Paketen sind, und dass ich mein Root-Paket importieren kann.
Der Ausgang des dir (mypackage) ist wie folgt:
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mypackage
>>> dir(mypackage)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__']
bin ich etwas fehlt? Alle Quellprojekte, auf die ich Bezug genommen habe, folgen diesem Muster. Dank