У меня проблема, которую я не знаю, как продолжить отладку.
У меня есть проект с другими целями, в том числе с использованием Python 3.
Я создал пакет Python с именем package .
Топ-каталог пакета находится внутри myproject / python / .
В файловой системе она имеет следующую структуру:
- /home/myuser/myproject/python
--- package/
------ __init__.py
------ myutil.py
------ sub_package/
---------- __init__.py
---------- sub_sub_package/
-------------- __init__.py
-------------- myscript.py
Все файлы __ init __. Py являются пустыми, за исключением корневого ( package / __ init __. Py ), который имеет следующее содержимое:
from . import myutil
Пока все хорошо.
Файл myscript.py на самом деле является скриптом Python для непосредственного запуска.
Поскольку он находится внутри пакета, я выполняю его так:
cd /home/myuser/myproject/python
python -m package.sub_package.sub_sub_package.myscript
Теперь странная часть. Скрипт работает как положено.
Однако после завершения программы я получаю следующее сообщение:
/usr/bin/python3: Error while finding module specification for
'package.sub_package.sub_sub_package.myscript.py'
(AttributeError: module 'package.sub_package.sub_sub_package.myscript'
has no attribute '__path__')
Я искал в Интернете, но безрезультатно.
Не могу понять, что является причиной этого сообщения и как его решить.
Я предполагаю, что это неясное поведение обработки импорта в Python 3, но понятия не имею.
Любая помощь с благодарностью.