Skip to main content
 首页 » 编程设计

python之如何在 Mac OS X 中从 Python 以 root 身份运行命令

2025年05月04日8hnrainll

在我的 Python GUI 应用程序中,我必须以 root 身份运行命令来执行某个操作(具体来说,它会在系统范围内安装一个 Python 模块)。在 Linux 上,我只是在传递给 subprocess.Popen() 的命令前使用 gksudo 或 kdesu。不幸的是,似乎没有Mac等价物。在指向一些名为 BetterAuthorizationSample 的复杂 Objective-C 代码之前,我已经看到了这个问题......我不太了解它,并且宁愿不编写 Objective-C 代码来完成这个简单的任务。如果有更简单的方法,我想知道。我想我可以制作自己的密码对话框并将其传递给标准输入上的常规命令行 sudo。

请您参考如下方法:

我不知道如何提升您的权限,但您可以使用一些 AppleScript 来询问密码。例如,见 https://github.com/apenwarr/sshuttle/blob/master/ui-macos/askpass.py