代码之家  ›  专栏  ›  技术社区  ›  user3626733

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

  •  0
  • user3626733  · 技术社区  · 8 年前

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

    为了从Visual Studio代码IDE执行相同的操作,我尝试在 pythonPath 启动中的变量。json文件 sudo 命令,但我得到以下错误:

    错误:spawn sudo/usr/local/bin/python3 enoint

    这是我的任务配置

    {
        "name": "Python",
        "type": "python",
        "request": "launch",
        "stopOnEntry": true,
        "pythonPath": "sudo /usr/local/bin/python3",
        "program": "${file}",
        "cwd": "${workspaceFolder}",
        "env": {},
        "envFile": "${workspaceFolder}/.env",
        "debugOptions": [
            "RedirectOutput"
        ]
    }
    
    2 回复  |  直到 6 年前
        1
  •  5
  •   Gino Mempin Brijesh Sondarva    5 年前

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

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

    它是 false 默认情况下,您需要将其添加到 发射json 并将其设置为 真的 :

    {
        "name": "run-python-script-with-sudo",
        "type": "python",
        "request": "launch",
        "cwd": "${workspaceFolder}",
        "program": "/path/to/script.py",
        "console": "externalTerminal",
        "sudo": true
    }
    

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

    要使用不同的解释器,请在 蟒蛇 调试配置的属性。

        2
  •  0
  •   user3626733    8 年前

    通过添加以下配置,现在我可以使用sudo权限执行

    调试选项中的Sudo和
    “console”:“externalTerminal”,

    以下是完整的配置

        {
            "name": "Python",
            "type": "python",
            "request": "launch",
            "stopOnEntry": true,
            "pythonPath": "/usr/local/bin/python3",
            "program": "${file}",
            "cwd": "${workspaceFolder}",
            "console": "externalTerminal",
            "env": {},
            "envFile": "${workspaceFolder}/.env",
            "debugOptions": [
                "RedirectOutput",
                "Sudo"
            ]
        },