Flask Python dotenv无法分析从第2行开始的语句

Flask Python dotenv无法分析从第2行开始的语句,flask,terminal,development-environment,web-development-server,python-venv,Flask,Terminal,Development Environment,Web Development Server,Python Venv,我已经卸载并重新安装了PythonDotenv,但仍然收到相同的错误。 谁能帮我整理一下吗 我也看到了。如果.env文件中的最后一行为空,则会发生这种情况 一些快速测试表明,它出现在0.10.4中;对于0.10.3,不显示任何警告 这可能会有所帮助在我的情况下,这不是问题所在,即使我最后有空行。 罪魁祸首是从Dockerfile复制的违反严格规则的行 环境变量=值 python env和env文件仅限于带有下划线的名称标识符,左侧的equal和all作为标识符的值。 “环境”部分违反了严格的规

我已经卸载并重新安装了PythonDotenv,但仍然收到相同的错误。 谁能帮我整理一下吗

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

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


这可能会有所帮助

在我的情况下,这不是问题所在,即使我最后有空行。 罪魁祸首是从Dockerfile复制的违反严格规则的行

环境变量=值

python env和env文件仅限于带有下划线的名称标识符,左侧的equal和all作为标识符的值。 “环境”部分违反了严格的规则

它需要公正 VAR=价值


而不久前,希望这能帮助其他人

不确定确切原因是什么。我也有同样的问题。如果我没记错的话,这个问题是在我使用vim在
.env
文件中粘贴
var=value
对之后出现的


使用退格删除
var=value
,并手动键入
var=value
(不粘贴)为我工作。*

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

MY_ENV_VAR = value
除此之外的任何内容,如果您试图检索它们,您将获得
NoneType

当您试图检索这些文件时,可以执行以下操作:

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_路径
只是指向
.env
文件的路径。“.”是应用程序的根目录。您甚至可以在
dotenv\u path
参数中传递它,如“
\path\to\your\.env”
例如
load\u dotenv(dotenv\u path='\path\to\your\.env')

编辑:

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

Linux:

$ export MY_ENV_VAR=value
窗口:

> set MY_ENV_VAR=value 

如果python dotenv错误消息提到它不喜欢哪个文件,那就太好了。在我的例子中,它说的是
第7行
,但我的
.env
文件只有3行。