如何使用python设置持久环境变量

问题描述 投票:0回答:2

我使用 Gemini API(适用于 Linux)在 python 中开发了一个项目。由于我对任何其他人使用我的 API 密钥感到不舒服,因此我创建了我的项目,以便用户必须提供他们的 API 密钥。目前,我依赖于用户编辑 .bashrc 文件并自行导出环境变量。由于他们中的许多人觉得这有点麻烦,我想知道是否有任何方法可以获取API密钥作为用户的输入,并将其存储为持久环境变量(这样您只需要输入API密钥一次) .

如果使用 python 无法设置持久环境变量,请帮助我找到其他替代方案来实现上述目标。

如有任何帮助,我们将不胜感激。预先感谢。

python environment-variables
2个回答
0
投票

环境变量并不是真正的“持久”,但您可以将它们存储在稍后访问的文件中,通常是一个

.env
文件。

创建一个名为

.env
的文件,用于存储 你的环境变量。确保您是否使用 git 将
.env
文件添加到您的
gitignore
以避免提交您的秘密。使用python包
dotenv
加载环境变量。

安装:

pip install python-dotenv

加载环境变量:

from dotenv import load_dotenv()
load_dotenv()

现在,您可以使用

os
访问环境变量:

import os
my_env = os.environ["MY_ENV_VAR"]

为了使用 python dotenv 写入

.env
文件,您可以使用
setenv()
命令:

set_key(dotenv_path=".env", key_to_set="USER_API_KEY", value_to_set="abc123")

参考:https://github.com/theskumar/python-dotenv


0
投票

这取决于它是一个实际的应用程序还是一个Python项目来摆弄它。 如果这是一个需要摆弄的项目,那么您应该像其他人所说的那样在项目文件夹中使用 .env 。如果它是一个实际的应用程序,您应该将设置保存在适当的位置,无论平台如何,它都可以工作 - 在 Linux 中它将位于

$XDG_CONFIG_HOME
,在 Windows 中它的位置 - 查看 https://pypi.org/project/平台目录/

© www.soinside.com 2019 - 2024. All rights reserved.