Repolode
theskumar

theskumar/python-dotenv

一个 Python 库,可从 .env 文件读取键值对并设置为环境变量,适用于 12-factor 应用开发。

Star
8,916
Fork
619
未关闭 Issue
126
最近提交
10天前

这是什么?

python-dotenv 可以从 .env 文件中读取键值对,并将其设置为环境变量。它面向遵循 12-factor 原则的应用,这类应用通过环境变量获取配置。开发时,开发者可以把这些配置保存在本地文件中,无需每次都在 shell 里手动导出。

核心函数 load_dotenv() 默认会查找 .env 文件,把其中的值写入 os.environ,已存在的环境变量不会被覆盖,除非传入 override=True。dotenv_values() 则只返回解析后的字典,不修改环境变量。两者都可以从流而不仅是文件中读取配置。此外,项目还提供 dotenv 命令行工具,用于设置、列出变量,以及在加载变量的环境中运行命令。

文件格式类似 Bash,支持引号、注释、export 前缀、多行值以及 ${VAR} 形式的变量展开。项目可通过 pip 安装,并提供 IPython 扩展。

核心功能

  • 01将 .env 文件中的值加载到 os.environ,默认不覆盖已有环境变量。
  • 02通过 dotenv_values() 返回解析后的字典,不修改当前环境。
  • 03支持从流读取配置,不限于文件。
  • 04语法接近 Bash,支持引号、注释、export 前缀和多行值。
  • 05支持在值中使用 ${VAR} 形式的变量展开。
  • 06提供 dotenv 命令行工具,可设置、列出变量并携带变量运行命令。
  • 07提供 IPython 扩展,可直接加载 .env 文件。

适用场景

  • 在开发阶段将 Python Web 应用的数据库地址和 API 密钥保存在本地 .env 文件中。
  • 从网络流等非文件来源读取配置并加载到 Python 程序中。
  • 通过 dotenv run 命令,使用 .env 中的变量运行脚本。
  • 不修改 os.environ,仅将 .env 中的值读取为字典,用于合并配置。

快速上手

  1. 1

    从 PyPI 安装该库

    pip install python-dotenv
  2. 2

    在项目根目录创建包含配置的 .env 文件

  3. 3

    在应用启动时调用 load_dotenv()

使用前须知

  • `.env` 文件格式没有正式规范,并且仍在随时间改进。

标签

常见问题

python-dotenv 是什么?
一个 Python 库,可从 .env 文件读取键值对并设置为环境变量,适用于 12-factor 应用开发。 python-dotenv 可以从 .env 文件中读取键值对,并将其设置为环境变量。它面向遵循 12-factor 原则的应用,这类应用通过环境变量获取配置。开发时,开发者可以把这些配置保存在本地文件中,无需每次都在 shell 里手动导出。
python-dotenv 可以免费使用吗?用的什么许可证?
python-dotenv 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
python-dotenv 还在维护吗?
活跃维护中。python-dotenv 最近一次提交是在 2026年10月28日。
python-dotenv 适合用来做什么?
在开发阶段将 Python Web 应用的数据库地址和 API 密钥保存在本地 .env 文件中。 从网络流等非文件来源读取配置并加载到 Python 程序中。 通过 dotenv run 命令,使用 .env 中的变量运行脚本。 不修改 os.environ,仅将 .env 中的值读取为字典,用于合并配置。
python-dotenv 怎么安装和运行?
从 PyPI 安装该库: pip install python-dotenv 在项目根目录创建包含配置的 .env 文件 在应用启动时调用 load_dotenv()
在哪里获取 python-dotenv?
源代码和安装说明在 GitHub 上:https://github.com/theskumar/python-dotenv

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目