前言
项目下的某些配置除了可以用专门的配置文件管理,也可以使用.env中设置。
.env格式示例
.env
1 | # 基本键值对:KEY=VALUE |
加载示例
Python
安装 python-dotenv
1 | pip install python-dotenv |
创建 .env 文件
1 | # .env |
自动加载
1 | from dotenv import load_dotenv |
注意
load_dotenv()会:
- 自动查找当前工作目录下的
.env- 将其中的变量加载到
os.environ中- 后续用
os.getenv()即可读取
以下两种写法等效
1 | # 便捷函数 |
SH脚本
Shell 脚本手动加载 .env
Bash (.sh):
方式1
1 | # 导出 .env 中的变量 |
方式2
使用 source/source 命令(需要 .env 文件格式正确)
1 | set -a |
在启动脚本中设置
run_model.sh:1
2
3# 直接在脚本中设置
export ALLREDUCE_STREAM_WITH_COMPUTE=1
export WEB_PORT=8002
使用
1 | echo $WEB_PORT # 输出: 8002 |
没有取默认值
1 | WEB_PORT=${WEB_PORT:-3000} |
语法
1 | ${VAR:-default} |
如果
VAR未设置 或 为空字符串,则使用default。
BAT脚本
Windows Batch (.bat):
1 | @echo off |
在启动脚本中设置
run_web.bat:
1 | set MODEL_SERVICE_URL=http://localhost:8001 |
Docker Compose
Docker Compose 会自动读取 .env 文件,可以在 docker-compose.yml 中直接引用:
1 | services: |
语法解释
1 | ${VARIABLE_NAME:-default_value} |
- 如果环境变量
VARIABLE_NAME已定义且非空 → 使用它的值;
- 如果未定义或为空 → 使用
default_value(即冒号后面的默认值)。
NodeJS
安装依赖
1 | npm install dotenv |
使用
1 | require('dotenv').config(); |
注意
几乎所有 Node.js 项目(Express, NestJS, Next.js 等)都默认支持。
Go
安装
1 | go get github.com/joho/godotenv |
使用
1 | godotenv.Load() |
C# (.NET)
安装
1 | dotnet add package DotNetEnv |
使用
1 | DotNetEnv.Env.Load(); |