У меня есть следующая структура файла проекта Python:
/main.py
/functions/func1.py
/functions/func2.py
/functions/serv_func.py
Main.py работает с pkgutil.Он использует функцию load_module (name), где name может быть func1, func2 или serv_func.В Func1.py нет никаких операторов import, и load_module (func1) прекрасно работает для него.Func2.py имеет «import serv_func», а load_module (func2) вызывает исключение «Нет модуля с именем serv_func».Я просто потерялся во всех этих пространствах имен, модулях и импорте.Я даже не знаю, где проблема.Почему он не видит serv_func при загрузке func2?
Edit1
main.py:
import functions
import pkgutil
def usable_modules(package):
modules = pkgutil.iter_modules(package.__path__)
usable = []
for importer, name, ispkg in modules:
print importer, name, ispkg
module = pkgutil.find_loader('{0}.{1}'.format(package.__name__, name)).\
load_module(name)
if hasattr(module, 'CHOOSABLE') and module.CHOOSABLE:
usable.append(module)
return usable
usable_modules(functions)