无法决定是使用 autoenv 还是 python dotenv
Trouble deciding whether to use autoenv or python dotenv
我接触过这两种工具,但它们的用途似乎相同。我的问题是它们有什么不同吗?如果有,有何不同?
在我的研究中,在我看来 autoenv 是全局范围的,而 dotenv 是更具体的应用程序。虽然这在许多情况下似乎是一个优势,但我想知道它是否也会产生无法预料的问题。
其次,使用其中一个的优点/缺点是什么(或者我应该在不同情况下使用每个?)
我已经通读了每一个的文档,但一直无法找到比较两者的文章。相对较新的是,我总体上对环境变量有了更深入的了解,所以如果我遗漏了文档中明显的内容,我深表歉意。
我主要使用 Flask 开发 Web 应用程序并在 Heroku 上部署(如果这会影响我的选择)。
提前致谢。
autoenv,适用于 cli,当您进入包含 .env 文件的目录时启用环境。
外汇。如果您在 cd 到目录时需要本地开发环境中的一些环境变量,您可以使用 autoenv 或更成熟的替代方案 direnv.
dotenv 在 python 中用于在 运行 目录或父目录中查找 .env 文件并加载它们的变量,这对服务有好处,因为它们通常没有 shell 运行.
因此,对于您的 heroku 部署,您应该使用 dotenv。
如果您直接在 heroku 设置中输入配置变量,则两者都不需要,您只需使用 os.getenv:
from os import getenv
print(getenv('MY_ENVIRONMENT_VARIABLE'))
我接触过这两种工具,但它们的用途似乎相同。我的问题是它们有什么不同吗?如果有,有何不同?
在我的研究中,在我看来 autoenv 是全局范围的,而 dotenv 是更具体的应用程序。虽然这在许多情况下似乎是一个优势,但我想知道它是否也会产生无法预料的问题。
其次,使用其中一个的优点/缺点是什么(或者我应该在不同情况下使用每个?)
我已经通读了每一个的文档,但一直无法找到比较两者的文章。相对较新的是,我总体上对环境变量有了更深入的了解,所以如果我遗漏了文档中明显的内容,我深表歉意。
我主要使用 Flask 开发 Web 应用程序并在 Heroku 上部署(如果这会影响我的选择)。
提前致谢。
autoenv,适用于 cli,当您进入包含 .env 文件的目录时启用环境。
外汇。如果您在 cd 到目录时需要本地开发环境中的一些环境变量,您可以使用 autoenv 或更成熟的替代方案 direnv.
dotenv 在 python 中用于在 运行 目录或父目录中查找 .env 文件并加载它们的变量,这对服务有好处,因为它们通常没有 shell 运行.
因此,对于您的 heroku 部署,您应该使用 dotenv。
如果您直接在 heroku 设置中输入配置变量,则两者都不需要,您只需使用 os.getenv:
from os import getenv
print(getenv('MY_ENVIRONMENT_VARIABLE'))