一个零依赖的 Node.js 模块,可将 .env 文件中的环境变量加载到 process.env 中。
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
从 PyPI 安装该库
pip install python-dotenv - 2
在项目根目录创建包含配置的 .env 文件
- 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 数据每日更新。
相关项目
2.1万+4 本周983JavaScriptBSD-2-Clause维护活跃更新于 9天前
开源的密钥与环境变量管理工具,提供网页面板、命令行工具,并可同步到 GitHub。
462+3 本周43TypeScriptApache-2.0维护活跃更新于 前天
一个零依赖的 Go 库,通过结构体标签把环境变量解析为类型化的结构体。
6356+7 本周299GoMIT更新于 前天
面向资产与应用的企业级配置管理平台,覆盖主机、进程、业务拓扑与自定义模型。
5763+1 本周1593GoOther更新于 16天前
静态分析 NGINX 配置文件,检测安全错误配置与常见性能问题的工具。
1191+1 本周29PythonOther维护活跃更新于 8天前
一个用 Rust 编写的命令行工具,通过一个 mise.toml 文件管理项目工具、环境变量和任务。
3.6万+299 本周1527RustMIT维护活跃更新于 20小时前