Мне нужно запустить модульные тесты для моего приложения Flask.В моем тестовом конфигурационном файле мне нужно импортировать функцию flask create_app
из одноуровневой директории для инициализации тестового приложения.Я не могу понять это без ошибок импорта.
Я попытался поместить __init__.py
практически в каждую папку, но безуспешно.Я прочитал, что редактирование пути sys не рекомендуется, поэтому я хотел бы найти решение без.
Структура папок
root/
----__init__.py
----server/
--------__init__.py
--------database.py
----tests/
--------__init__.py
--------config.py
config.py
from server import create_app
from server.database import db
Вызывает эту ошибку:
Traceback (most recent call last):
File "tests/config.py", line 2, in <module>
from server import create_app
ModuleNotFoundError: No module named 'server'
и:
from ..server import create_app
from ..server.database import db
Вызывает эту ошибку:
Traceback (most recent call last):
File "tests/config.py", line 2, in <module>
from ..server import create_app
ValueError: attempted relative import beyond top-level package
Может кто-нибудь объяснитьпочему это не работает и как работает python import
s в целом?Я никогда не мог понять их.