如何以超级用户权限或root权限在Visual Studio Code中启动python?(即使用 sudo 命令)

use*_*733 3 python sudo visual-studio-code

为了从命令行执行我的Python程序,我使用了,sudo python myProgram.py因为我的程序需要root权限。

要从 Visual Studio Code IDE 执行相同的操作,我尝试pythonPath使用命令在 launch.json 文件中为变量添加前缀sudo,但出现以下错误:

错误:生成 sudo /usr/local/bin/python3 ENOENT

这是我的任务配置

{
    "name": "Python",
    "type": "python",
    "request": "launch",
    "stopOnEntry": true,
    "pythonPath": "sudo /usr/local/bin/python3",
    "program": "${file}",
    "cwd": "${workspaceFolder}",
    "env": {},
    "envFile": "${workspaceFolder}/.env",
    "debugOptions": [
        "RedirectOutput"
    ]
}
Run Code Online (Sandbox Code Playgroud)

Gin*_*pin 12

现在有一个sudo用于 Python 调试配置的选项:

当设置为true并与 一起使用时"console": "externalTerminal",允许调试需要提升的应用程序。需要使用外部控制台来捕获密码。

它是false默认的,因此您需要将其添加到launch.json并将其设置为true

{
    "name": "run-python-script-with-sudo",
    "type": "python",
    "request": "launch",
    "cwd": "${workspaceFolder}",
    "program": "/path/to/script.py",
    "console": "externalTerminal",
    "sudo": true
}
Run Code Online (Sandbox Code Playgroud)

请注意,它将使用您为工作区配置的相同 Python 解释器。要覆盖它并设置不同的 Python 解释器,请添加以下python选项:

要使用不同的解释器,请在 python调试配置的属性中指定其路径。