我刚开始在Windows上运行Python Flask.我已经习惯了Linux.我的代码在Linux上运行得很好,有source .env个代码,但因为我是在Windows上,所以我创建了一个env.bat并将set添加到每一行,如下所示:

set export SECRET_KEY=34uqhtg3rfhjqwief3woqijj4ki324jkDEWGF
set export DEBUG=True
set export APP_SETTINGS=config.DevelopmentConfig
set export DATABASE_URL=sqlite:///db.sqlite
set export FLASK_APP=src
set export FLASK_DEBUG=1

我在运行Manage.py时收到的错误:

File "C:\Users\admin\Documents\Dash\manage.py", line 3, in <module>
    from src import app
  File "C:\Users\admin\Documents\Dash\src\__init__.py", line 8, in <module>
    app.config.from_object(config("APP_SETTINGS"))
  File "C:\Users\admin\Documents\ws\Dash\env\lib\site-packages\decouple.py", line 248, in __call__
    return self.config(*args, **kwargs)
  File "C:\Users\admin\Documents\ws\Dash\env\lib\site-packages\decouple.py", line 107, in __call__
    return self.get(*args, **kwargs)
  File "C:\Users\admin\Documents\ws\Dash\env\lib\site-packages\decouple.py", line 92, in get
    raise UndefinedValueError('{} not found. Declare it as envvar or define a default value.'.format(option))
decouple.UndefinedValueError: APP_SETTINGS not found. Declare it as envvar or define a default value.

Manage.py:

from flask.cli import FlaskGroup

from src import app

cli = FlaskGroup(app)


if __name__ == "__main__":
    cli()

init.PY:

from decouple import config
from flask import Flask
from flask_bcrypt import Bcrypt
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config.from_object(config("APP_SETTINGS"))

bcrypt = Bcrypt(app)
db = SQLAlchemy(app)
migrate = Migrate(app, db)

# Registering blueprints
from src.accounts.views import accounts_bp
from src.core.views import core_bp

app.register_blueprint(accounts_bp)
app.register_blueprint(core_bp)

帖子主题:Re:Колибри

from decouple import config

DATABASE_URI = config("DATABASE_URL")
if DATABASE_URI.startswith("postgres://"):
    DATABASE_URI = DATABASE_URI.replace("postgres://", "postgresql://", 1)


class Config(object):
    DEBUG = False
    TESTING = False
    CSRF_ENABLED = True
    SECRET_KEY = config("SECRET_KEY", default="guess-me")
    SQLALCHEMY_DATABASE_URI = DATABASE_URI
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    BCRYPT_LOG_ROUNDS = 13
    WTF_CSRF_ENABLED = True
    DEBUG_TB_ENABLED = False
    DEBUG_TB_INTERCEPT_REDIRECTS = False


class DevelopmentConfig(Config):
    DEVELOPMENT = True
    DEBUG = True
    WTF_CSRF_ENABLED = False
    DEBUG_TB_ENABLED = True


class TestingConfig(Config):
    TESTING = True
    DEBUG = True
    SQLALCHEMY_DATABASE_URI = "sqlite:///testdb.sqlite"
    BCRYPT_LOG_ROUNDS = 1
    WTF_CSRF_ENABLED = False


class ProductionConfig(Config):
    DEBUG = False
    DEBUG_TB_ENABLED = False

这里的问题是什么?谢谢.任何帮助都是非常感激的.我

推荐答案

看起来您没有正确设置环境变量.

在Windows上,您只需使用set命令,因此在您的bat文件中,您应该删除export命令,因为它被解释为字符串"export".

请参阅此处的set文档set [<variable>=[<string>]]

Python相关问答推荐

DuckDB将蜂巢分区插入拼花文件

使用from_pandas将GeDataFrame转换为polars失败,ArrowType错误:未传递numpy. dype对象

通过交换 node 对链接列表进行 Select 排序

用gekko解决的ADE方程系统突然不再工作,错误消息异常:@错误:模型文件未找到.& &

Polars LazyFrame在收集后未返回指定的模式顺序

难以在Manim中正确定位对象

Python json.转储包含一些UTF-8字符的二元组,要么失败,要么转换它们.我希望编码字符按原样保留

PywinAuto在Windows 11上引发了Memory错误,但在Windows 10上未引发

Python 约束无法解决n皇后之谜

如何请求使用Python将文件下载到带有登录名的门户网站?

将9个3x3矩阵按特定顺序排列成9x9矩阵

无法在Docker内部运行Python的Matlab SDK模块,但本地没有问题

合并帧,但不按合并键排序

旋转多边形而不改变内部空间关系

Flask Jinja2如果语句总是计算为false&

在matplotlib中使用不同大小的标记顶部添加批注

BeautifulSoup-Screper有时运行得很好,很健壮--但有时它失败了::可能这里需要一些更多的异常处理?

使用python playwright从 Select 子菜单中 Select 值

利用SCIPY沿第一轴对数组进行内插

极点:在固定点扩展窗口