Код VS не применяет переменные средыPython

Программы на Python
Ответить
Anonymous
 Код VS не применяет переменные среды

Сообщение Anonymous »

Итак, у меня есть это веб-приложение, на котором работает flask, реагирование и sqlalchemy для базы данных. Сейчас я готовлюсь к хостингу, поэтому тестирую с настройкой различных переменных среды (разработка, тестирование, производство). Однако когда я устанавливаю переменные среды в командной оболочке кода VS
set FLASK_ENV=development
set FLASK_APP=run.py

Я получаю эту ошибку:
FLASK_ENV is set to: None
Traceback (most recent call last):
File "C:\...\Python\Hacklab-sem-1\remoire\run.py", line 5, in
app = create_app()
^^^^^^^^^^^^
File "C:\...\Python\Hacklab-sem-1\remoire\app\__init__.py", line 26, in create_app
db.init_app(app)
File "C:\...\Python\Python312\Lib\site-packages\flask_sqlalchemy\extension.py", line 355, in init_app
raise RuntimeError(
RuntimeError: Either 'SQLALCHEMY_DATABASE_URI' or 'SQLALCHEMY_BINDS' must be set.

Эта строка есть в файле run.py
print(f"FLASK_ENV: {os.environ.get('FLASK_ENV')}")

и, как вы можете видеть, там написано, что для env установлено значение None, однако, если я установлю env вручную в самом файле run.py перед вызовом create_app() с помощью
os.environ['FLASK_ENV'] = 'development'

все работает. Судя по тому, что я могу сказать, область действия кажется правильной, перед запуском команд я меняю каталог, чтобы он находился непосредственно в папке remoire, где находится run.py, а также папка приложения, я просто не могу понять решить проблему. Вот функция create_app(), в которой возникает проблема
def create_app():
app = Flask(__name__)

env = os.environ.get('FLASK_ENV', 'production')

if env == 'development':
app.config.from_object('config.DevelopmentConfig')
elif env == 'testing':
app.config.from_object('config.TestingConfig')
else:
app.config.from_object('config.ProductionConfig')

db.init_app(app)
.
.
.


Подробнее здесь: https://stackoverflow.com/questions/792 ... -variables
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»