You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从.env文件读取变量时,内容在=符号处被截断的问题

解决.env变量读取截断问题

可能原因及对应解决方案

1. .env文件变量值未用引号包裹

如果你的MONGODB_URI值本身包含=或其他特殊字符(如&、空格),直接写入会导致dotenv解析错误。比如原写法:

MONGODB_URI=mongodb://user:pass@host:port/db?param=value

修改为用双引号包裹值:

MONGODB_URI="mongodb://user:pass@host:port/db?param=value"

2. 强制加载.env并覆盖环境变量

系统环境变量可能覆盖了.env中的值,或者dotenv未正确加载,试试添加override=True参数:

import os
from dotenv import load_dotenv

load_dotenv(override=True)
print(os.getenv("MONGODB_URI"))

3. 指定.env文件绝对路径加载

WSL2环境下若当前工作目录与.env所在目录不符,会导致加载失败,直接指定绝对路径:

import os
from dotenv import load_dotenv

# 替换为你的.env文件实际绝对路径
env_path = "/home/your_username/your_project/.env"
load_dotenv(dotenv_path=env_path, override=True)
print(os.getenv("MONGODB_URI"))

4. 转换.env文件换行符格式

如果.env是在Windows环境下生成的,可能带有CRLF换行符,导致WSL2中解析异常,用dos2unix转换:

dos2unix .env

内容的提问来源于stack exchange,提问作者JSFernando

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 08:34:52