У меня есть приложение Flask, структурированное для развертывания как wsgi. Я имею вопрос, когда я хочу загрузить файлы из интерпретатора Python.Доступ к фляге wsgi структурированное приложение от интерпретатора
Структура:
|----api
|---------api
|--------------static
|--------------templates
|--------------venv
|--------------models.py
|--------------...
Так что в интерпретатора, когда я загрузить файлы в каталоге api/api
мне нужно обращаться к ним как dir.filename
. Например, если у меня есть файл, api/api/models.py
, я могу загрузить его, введя команду from api.mb_models import db
... однако этот синтаксис дросселируется при запуске приложения wsgi через веб-сервер. то я получаю ошибку, что файл не завершает работу:
Traceback (most recent call last): File "api/extract.py", line 15, in <module> import api.models as models ImportError: No module named api.models
Я также попытался задающей переменным Os следующим образом,
path = 'api'
os.chdir(path)
и в то время как это работает сейчас, как WSGI, я получил то же самое при попытке загрузить из интерпретатора. Единственный способ, с помощью которого я могу запустить этот проект в качестве wsgi, не указывать путь в моих операторах импорта или использовать атрибут os, который не работает при загрузке файлов в интерпретаторе
Вопрос заключается в том, как разделить та же конфигурация для развертывания в качестве приложения wsgi И для работы с интерпретатором Python.
Примечание: Я использую виртуальную среду.
EDIT
я удалил все ссылки dir
в моем импорте файлов, так что приложение WSGI функционирует по желанию, а затем побежал os.cwd()
в переводчике, который дал мне ожидаемый результат /Users/gms/development/python/api
. Затем я установил рабочий каталог с помощью os.chdir('/Users/gms/development/python/api/api')
, запустил os.cwd()
и получил желаемый результат для рабочего каталога, но я все равно получаю ImportError: No module named extract
, когда я пытаюсь загрузить его из интерпретатора.