在PyCharm中以root权限运行Python脚本

本文最后更新于:2022年7月10日 上午

最近在 Ubuntu 下尝试使用mouse这个 Python 包,然而发现必须以 root 用户身份才能正常使用

PyCharm 中直接运行 Python 解释器显然是不行的,一番搜索之后找到了下面的完美解决方案

https://intellij-support.jetbrains.com/hc/en-us/community/posts/206587695-How-to-run-debug-programs-with-super-user-privileges?page=1#community_comment_205675625

https://stackoverflow.com/questions/14299509/debugging-in-pycharm-with-sudo-privileges

1.设置 Python 解释器默认以 sudo 方式启动,且免密码

1
sudo visudo -f /etc/sudoers.d/python3

注意用 visudo 来编辑 sudoers.d 中的文件,它具有安全检查功能。使用vim等其他编辑器可能导致文件配置失败,无法使用 sudo 命令,出现 sudo 解析失败,无法初始化策略插件错误

在文件中输入如下内容

1
<user> <host> = (root) NOPASSWD: <full path to python3>

我在使用虚拟环境,所以 Python 解释器路径就是虚拟环境的绝对路径,我的配置如下

1
muzing ALL = (root) NOPASSWD: xxx/venv/bin/python3

注意把 xxx 换成你自己的路径

2.创建一个脚本文件,以 sudo 方式启动 Python 解释器

创建一个脚本文件 python3_sudo.sh ,文件内容如下

1
2
#!/bin/bash
sudo xxx/venv/bin/python3 "$@"

这个脚本文件的命名可以根据你的喜好更改,但一定要以 python 开头,不然后面 PyCharm 无法识别

修改文件权限为可执行

1
chmod +x python3_sudo.sh

3. 在 PyCharm 中以 Python3_sudo.sh 为项目解释器

在 PyCharm 中设置项目解释器

设置项目解释器

点击这个齿轮,添加

添加Python解释器

选择刚才编写的脚本作为解释器

找到刚才新建的 python3_sudo.sh 脚本,选作项目解释器

再次运行 Python 项目,没有 root 权限的问题就解决了


在PyCharm中以root权限运行Python脚本
https://muzing.top/posts/52066/
作者
Muzing
发布于
2020年11月7日
更新于
2022年7月10日
许可协议