当前位置: 首页 > 面试题库 >

在Heroku中为flask应用设置环境变量

陶博涉
2023-03-14
问题内容

我有一个flask应用程序,该应用程序将不同的配置文件用于开发和生产环境。相关的代码段是这样的:

app.config.from_object('config.dev')
app.config.from_envvar('SPOTPIX_SETTINGS', silent=True)

当我在本地服务器上进行开发时,配置取自config.dev,但是当我将代码推送到heroku时,我想将SPOTPIX_SETTINGS环境变量设置为指向“ config.prod”文件。这可以在heroku命令行客户端中完成,如下所示:

heroku config:set SPOTPIX_SETTINGS= 

但是,我不知道应该在等号右边写什么,因为我无法将生产配置文件的绝对路径分配给环境变量,因为在heroku中这与在我的环境中是不同的开发机器。


问题答案:

你应该使用a env variable查看你是否在dev或heroku中。

heroku config:set IS_HEROKU=True 

然后在你的文件中

import os
is_prod = os.environ.get('IS_HEROKU', None)

if is_prod:
    #here goes all your heroku config


 类似资料:
  • 问题内容: 有没有一种方法可以在Linux中使用C设置环境变量? 我尝试了和,但是它们似乎并没有为我工作。 问题答案: 我将在这里做出一个疯狂的猜测,但是这些功能似乎不起作用的正常原因不是因为它们不起作用,而是因为用户并不真正了解环境变量的工作原理。例如,如果我有此程序: 然后我从外壳程序运行它,它不会修改外壳程序的环境- 子进程无法做到这一点。这就是为什么内置可修改环境的shell命令的原因,以

  • 我尝试为将在Windows子系统Linux中运行的Visual Studio Code任务设置环境变量。然而,它似乎不起作用。这是我的tasks.json: 输出为: 请注意,默认情况下,shell已被手动修改为WSL的,正如这里和这里推荐的那样。

  • 问题内容: 我想通过运行程序时设置环境变量。这可能吗? 我试图这样设置: 但是结果消息说FOO不存在。 问题答案: 您必须传递一个包含键 env 的选项对象,该键 env 的值本身就是键值对的对象。

  • 问题内容: 使用JetBrains的WebStorm官方Node插件(以及它们的其他IDE)运行Node.js应用程序时,是否可以设置环境变量? 问题答案: 不,从WebStorm不可能,应该在系统中定义环境变量。 更新:在新版本中,可以在“运行/调试”配置中设置环境变量。

  • 我正在使用react-本地构建一个跨平台的应用程序,但我不知道如何设置环境变量,以便我可以为不同的环境拥有不同的常量。 例子:

  • 我使用spark-defaults分类[http://docs.aws.amazon.com/emr/latest/releaseGuide/emr-spark-configure.html]并提供以下属性:-来设置yarn主目录中的环境变量。