У меня такая компоновка пакетов:
В nlu / dirctory у меня есть:
nlu / nlup.py
class NLUP(object)
def __init__(self)
...
print("Why is this classed? This initializer is heary!")
nlu / init .py
from nlu import nlup
nls = nlup.NLUP()
...
nlu / utils / text_normalizer.py
def normalize(text):
if not text:
return " "
Затем у меня есть файл для проверки нормализатора текста: tools / test, py:
from nlu.utils import text_normalizer
print('why is the initialier of NLUP called?')
Я не понимаю, почему импорт text_normalizer вызвал вызов инициализатора NLUP. Normalizer.py ничего не импортирует из пакета 'nlu'. Он использует только пространство имен: "from nlu.utils".
Есть способ избежать этого? Когда я вызываю функцию "normlaize", я не хочу, чтобы вызывался инициализатор NLUP. Просто text_normalizer находится под пакетом nlu.
Это нормально?
setup.py
setup(name='nlu',
version='1.0',
packages=['nlu'],
package_dir={'nlu':'nlu'},
package_data={'nlu':['*.*']}
)