【问题标题】:Running Flask in Windows doesn't see environment variable在 Windows 中运行 Flask 看不到环境变量
【发布时间】:2019-03-25 11:12:03
【问题描述】:

我想设置一个环境变量DATABASE_URL 将由我的 Flask 应用程序读取以连接到数据库。我使用set DATABASE_URL = '...',但是当我使用flask run 时,我收到一个错误,即未设置变量。为什么这不起作用?

import os

from flask import Flask
from sqlalchemy import create_engine

app = Flask(__name__)

if not os.getenv("DATABASE_URL"):
    raise RuntimeError("DATABASE_URL is not set")

engine = create_engine(os.getenv("DATABASE_URL"))

我导航到 project1 的安装目录并在 Windows 10 cmd.exe 中执行以下操作:

set FLASK_APP = application.py
set FLASK_DEBUG = 1
set DATABASE_URL = 'postgres.......' (the credential given by the Heroku account)
flask run

Flask 运行,我去localhost:5000,得到如下错误:

Traceback (most recent call last):
  File "c:\program files\python36\lib\site-packages\flask\_compat.py", line 35, in reraise
    raise value
  File "C:\Program Files\Python36\learningPython\web_CS50\project1\application.py", line 12, in <module>
    raise RuntimeError("DATABASE_URL is not set")
RuntimeError: DATABASE_URL is not set 

【问题讨论】:

    标签: python windows flask environment-variables


    【解决方案1】:

    快速尝试:

    1. 在 Windows 上,使用setx 而不是set 来修改系统环境变量。

      setx FLASK_APP = application.py

    2. 启动一个新的命令处理器以查看反映在您的环境中的变量(它们在 shell 初始化时设置)。

    【讨论】:

      【解决方案2】:

      只需从 set 命令中删除空格

      set FLASK_APP=application.py
      set FLASK_DEBUG=1
      set DATABASE_URL='postgres.......'
      

      更多信息请访问https://ss64.com/nt/set.html

      【讨论】:

      • 天哪,我不敢相信这有效。另外,我必须输入完全没有引号的连接字符串。例如:设置 DATABASE_URL=postgres.......
      【解决方案3】:

      就个人而言,当我使用烧瓶运行时,我遇到了一个问题。我收到此消息“'flask' 未被识别为内部或外部、可运行的程序或批处理文件”可能是什么问题。

      【讨论】:

        【解决方案4】:
        set FLASK_APP=application.py
        set FLASK_DEBUG=1
        set DATABASE_URL='postgres.......' (WITHOUT THE QUOTATION MARKS, because the system put it automatically, I opened a notepad and set the password and copy paste and execute in powershell
        

        【讨论】:

          【解决方案5】:

          您需要在电脑的环境变量中设置路径。 你可以在这里找到你的 python 路径 C:\Users"你的默认用户名"\AppData\Local\Programs\Python\Python39. 设置路径后使用

          1. pip3 安装

          【讨论】:

            猜你喜欢
            • 2018-02-17
            • 1970-01-01
            • 1970-01-01
            • 2017-01-28
            • 2012-07-07
            • 2021-10-20
            • 2019-03-01
            • 2016-07-30
            • 2015-05-10
            相关资源
            最近更新 更多