Я занимаюсь разработкой библиотеки в python3x, и у меня возникают некоторые проблемы при попытке импортировать все модули, классы и функции.
/example.py
/math/
__init__.py
linalg.py
solve() #inside module.py
Проблема заключается в том, что я хотел бы просто иметь возможность импортироватьмоя библиотека внутри example.py и затем использует все функции, определенные в различных модулях, как это делает numpy, например:
import math as m
m.solve()
вместо использования
import math as m
m.linalg.solve()
или
import math.linalg as m
m.solve()
Как мне определить __init__.py, чтобы включить все таким образом.Я пытался использовать dir (linalg), абсолютный импорт и т. Д., Так как не могу понять, как это сделать.
Thx.
РЕШЕНИЕ :
В конце я создал промежуточный слой для скрытия зависимости модуля.
Внутри __init__.py:
from .linalg import *
from .wrappers import *
затем создал файл wrappers.py вместе сlinalg.py:
from math.linalg import solve
def wrapper_solver():
{
solve()
}
, а затем в example.py:
import math as m
m.wrapper_solver()
Надеюсь, это кому-нибудь поможет.