Относительная проблема импорта, когда __main__ является пакетом в venv
Я получаю «ImportError: попытка относительного импорта без известного родительского пакета» при попытке импортировать модуль.
У меня есть статический веб-сайт (созданный с помощью Nikola), на котором есть плагин (модуль Python, который Nikola распознает как плагин, используя YAPSY {Yet Another Plugin System}, что делает его доступным для вызова в качестве команды Nikola). Этот модуль находится на моем веб-сайте, и он хочет импортировать из другого модуля также на веб-сайте.
__main__ принадлежит Николе, который находится в моем venv. Если я использую pdb для прерывания непосредственно перед импортом, я могу увидеть свой сайт в sys.path. Если я посмотрю на __name__, я увижу «importlib._bootstrap», что не имеет для меня особого смысла (хотя я пытаюсь использовать bootstrap4, но не здесь).
Мне кажется, что моя проблема связана с тем, что модуль, который я хочу импортировать, на самом деле не подчинен __main__ и, следовательно, не входит в дерево пакетов.
Мое дерево пакетов выглядит так:
website
|--__init__.py
|--plugins
| |--__init__.py
| |--the_plugin.plugin (yapsy uses to recognize plugin)
| |--the_plugin.py
|--my_other_modules
| |--__init__.py
| |--work_module.py (imported by the_plugin)
sys.path включает «веб-сайт».
Вопрос в том, как я могу гарантировать, что модули на веб- сайте можно импортировать?
Спасибо за любую помощь.--Дон