3 回答
TA贡献1777条经验 获得超10个赞
找到了答案。我导入其他文件,这些文件也使用环境文件中的数据。在 VSCode 中,调试时,不需要单独load_dotenv()
的文件,但是从 python3 运行时则需要。我认为这是调试器中的错误。
TA贡献1875条经验 获得超5个赞
我今天也遇到了同样的问题。一旦我了解到问题与设置 dubugger 的根目录有关,就可以直接修复它:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}", // <- the secret is here
"console": "integratedTerminal",
"justMyCode": true
}
]
}
只需添加“cwd”作为 ${fileDirName} 即可将根目录设置为文件目录本身,然后所有相对路径也将被修复。
TA贡献1799条经验 获得超6个赞
我遇到了类似的问题(在 VSCode 中运行,从 CLI 运行时失败),但我已经在使用 load_dotenv()。我的问题的根本原因是运行 load_dotenv() 的 python 文件位于 .env 文件所在的主文件夹下的子文件夹中。因此,解决方案是将 .env 文件的路径传递给 load_dotenv,简单地说load_dotenv(path_to_env_file)
。这在 VSCode 和 CLI 中都有效。
我不太确定 VSCode 幕后发生了什么使其能够避免此问题。
添加回答
举报