我正在使用VS Code的远程功能通过ssh进行编码,并正在尝试设置调试配置。我正在运行的python程序使用很多环境变量,这是一种情况:
user = os.environ.get("USER")
在调试模式下运行时,如果希望将其设置为用户名user
,则将root
设置为字符串tdeng
。我尝试在配置文件中设置这些设置:
"env": { "USER" : "${env:USER}"},
或
"env": { "USER" : "tdeng"},
但是它们从不影响os.environ.get()-由于某种原因,它始终为root
。
我也尝试过此https://github.com/Microsoft/vscode-python/issues/436#issuecomment-361540371,但没有用。
当我直接使用集成的python环境在集成终端中运行程序时,程序运行良好。 (python program.py
),它只是正常访问所有这些环境变量。有什么建议么?我渴望尝试在Internet上找到解决方案,但我不知道这是VS Code,远程扩展,我的配置文件还是我的开发环境的问题。
编辑: 启动配置如下所示:
{
"name": "mia",
"type": "python",
"request": "launch",
"sudo": true,
"program": "/home/tdeng/a/bin/program.py",
"env": { "USER" : "tdeng"},
}
我非常确定我正在运行正确的配置,因为我在调试下拉列表中单击了相同的名称。该程序还可以正常运行,并且正在导入正确的模块等,直到os.environ.get
。