在VS代码调试模式下获取不正确的环境变量?

2024-10-02 10:30:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用vscode的远程特性通过ssh编写代码,并尝试设置调试配置。我运行的python程序使用了很多环境变量,这里有一个例子:

user = os.environ.get("USER")

当我在调试模式下运行时,user被设置为字符串root,而我希望它被设置为我的用户名tdeng。我尝试在配置文件中设置这些:

^{pr2}$

或者

"env": { "USER" : "tdeng"},

但它们不会影响操作系统环境获取()-由于某种原因总是root。在

我也尝试过这个https://github.com/Microsoft/vscode-python/issues/436#issuecomment-361540371,但没有成功。在

当我在集成终端中直接使用我设置的同一个python环境时,程序运行得很好。(python program.py),它只是正常访问所有这些环境变量。有什么建议吗?我非常想在互联网上找到解决方案,但我不知道这是因为VS代码、远程扩展、我的配置文件还是我的开发环境的问题。在

编辑: 启动配置如下所示:

{
    "name": "mia",
    "type": "python",
    "request": "launch",
    "sudo": true,
    "program": "/home/tdeng/a/bin/program.py",
    "env": { "USER" : "tdeng"},
}

我很确定我运行的配置是正确的,因为我在debug下拉列表中单击了相同的名称。程序也能正常运行&导入正确的模块等,直到os.environ.get。在


Tags: 代码程序get远程环境os配置文件environ

热门问题