Я собрал пакет в Python 3. Проблема в том, что когда я импортирую пакет, каждый модуль получает те функции, которые указаны в __ init __. Py И атрибут с тем же именем, что и у модуля(скажем package.package), в котором есть все функции реального пакета.
Я пытался изменить мои __ init __. py файлы, но я не совсем понял, каконо работает.Мой пакет выглядит так:
package/
__init__.py
package.py (same name used here)
_someprivatestuff.py
io/
__init__.py
io.py
vis/
__init__.py
vis.py
Кулак __ init __. Py содержит следующий импорт:
from .package import exception1
from .package import exception2
from .package import class1
from .package import class2
from .package import class3
Исключения и классы находятся в package.py.
Теперь, если я импортирую модуль, я получу доступ ко всем остальным функциям в package.py и модулям, импортированным в эти файлы python:
import package
package.class1 # this should output 'package.class1'
>>> <class 'package.package.class1'>
package.package.someprivateclass # package.package is somehow accesible
>>> <class 'package.package.someprivateclass'>