Вот очень упрощенная версия структуры моих проектов для программы, которая будет выполняться один раз, а затем завершится:
python-app
├── Dockerfile
└── src
└── utils
tools.py
__init__.py
└── manage
└── package_a
do_something.py
__init__.py
__init__.py
main.py
__init__.py
В main.py у меня есть from manage.package_a import do_something
, а вdo_something.py У меня есть from utils.tools import a_function
. Я запускаю python src/main.py
, и программа запускает ожидаемый. Однако в VS Code и при запуске pylint
я получаю следующие ошибки в main.py и do_something.py.
main.py: Unable to import 'package_a'pylint(import-error)
do_something.py: No name 'utils' in module 'tools'pylint(no-name-in-module)
Я что-то упускаю из-за относительного импорта, что является абсолютно плохой практикой / неверно? Или это проблема Pylint, не признающая, что программа всегда будет запускаться из основного метода?