我使用 Gemini API(适用于 Linux)在 python 中开发了一个项目。由于我对任何其他人使用我的 API 密钥感到不舒服,因此我创建了我的项目,以便用户必须提供他们的 API 密钥。目前,我依赖于用户编辑 .bashrc 文件并自行导出环境变量。由于他们中的许多人觉得这有点麻烦,我想知道是否有任何方法可以获取API密钥作为用户的输入,并将其存储为持久环境变量(这样您只需要输入API密钥一次) .
如果使用 python 无法设置持久环境变量,请帮助我找到其他替代方案来实现上述目标。
如有任何帮助,我们将不胜感激。预先感谢。
环境变量并不是真正的“持久”,但您可以将它们存储在稍后访问的文件中,通常是一个
.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")
这取决于它是一个实际的应用程序还是一个Python项目来摆弄它。 如果这是一个需要摆弄的项目,那么您应该像其他人所说的那样在项目文件夹中使用 .env 。如果它是一个实际的应用程序,您应该将设置保存在适当的位置,无论平台如何,它都可以工作 - 在 Linux 中它将位于
$XDG_CONFIG_HOME
,在 Windows 中它的位置 - 查看 https://pypi.org/project/平台目录/