У меня есть следующая структура проекта в Python (... означает, что у меня n файлов crawler_.py).
project
├── crawlers
│ ├── __init__.py
│ ├── crawler_1.py
│ ├── crawler_2.py
│ ...
│ ├── crawler_n.py
│ └── useful_functions.py
├── main.py
└── __init__.py
Мне нужно импортировать все сканеры из сканера в основную, поэтому я используйте это.
# main.py
from crawlers import crawler_1
from crawlers import crawler_2
...
from crawlers import crawler_n
Но мне также нужно useful_functions.py
во всех файлах crawler_.py, поэтому я использую это в каждом.
# crawler_.py
import useful_functions
Но когда я запустил main.py
Я получил ModuleNotFoundError: No module named 'useful_functions'
, когда он попытался импортировать crawler_1.
Поэтому я попробовал следующее
# crawler_.py
from crawlers import useful_functions
И оно работает, когда я запускаю main.py
. Проблема в том, что я могу захотеть запустить только один из crawler_.py напрямую. Используя этот последний оператор импорта, я получаю ModuleNotFoundError: No module named 'crawlers'
. Не уверен, как решить эту проблему, если есть что-то внутри кода, который я должен скорректировать, или если структура, которую я использую, в корне неверна (у меня все в порядке с настройкой структуры проекта).