首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python-dotenv无法解析从第2行开始的语句

Python-dotenv无法解析从第2行开始的语句
EN

Stack Overflow用户
提问于 2020-06-17 11:39:48
回答 5查看 14.6K关注 0票数 4

我已经卸载并重新安装了python-dotenv,但仍然收到相同的错误。有人能把这个整理好吗?

EN

回答 5

Stack Overflow用户

发布于 2020-11-18 02:53:21

确保您的.env文件仅包含以下格式的数据:

代码语言:javascript
复制
MY_ENV_VAR = value

如果您试图检索它们,则会得到NoneType

当您尝试检索这些内容时,可以执行以下操作:

代码语言:javascript
复制
from pathlib import Path
from dotenv import load_dotenv

env_path = Path('.', '.env')
load_dotenv(dotenv_path=env_path)

my_env_var = os.getenv('MY_ENV_VAR')

env_path只是您的.env文件的路径。“.”是应用程序的根目录。你甚至可以像'\path\to\your\.env'‘一样在dotenv_path参数中传递它,例如load_dotenv(dotenv_path='\path\to\your\.env')

编辑:

如果您要将其添加到终端中,请确保=符号周围没有空格。例如:

Linux:

代码语言:javascript
复制
$ export MY_ENV_VAR=value

Windows:

代码语言:javascript
复制
> set MY_ENV_VAR=value 
票数 9
EN

Stack Overflow用户

发布于 2020-06-18 14:40:30

,我也看到了这个。如果.env文件中的最后一行为空,就会发生这种情况。

一些快速测试表明,它出现在0.10.4中;对于0.10.3,没有显示任何警告。

https://github.com/theskumar/python-dotenv/issues/235

这可能会有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2021-07-07 15:16:47

对我来说,当我从.env文件中删除等号后的空格并删除撇号(')和引号(")时,这个问题就消失了。因此,不使用这个.env:

代码语言:javascript
复制
FOO = 'something'
BAR = "something_else"

尝试将.env更改为:

代码语言:javascript
复制
FOO=something
BAR=something_else
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62421123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档