Ubuntu 22.04 LTS下运行Python脚本遇权限与模块问题求助
解决Ubuntu 22.04下Python脚本权限与模块缺失问题
你的问题核心是两个矛盾:keyboard库需要root权限才能监听全局键盘,但sudo运行时又找不到当前用户安装的pyautogui模块。下面提供两种可行的解决方式:
方法一:给当前用户赋予权限(无需sudo,更安全)
Linux下可以通过给Python二进制文件添加权限能力,让普通用户也能使用keyboard库的全局监听功能:
- 执行以下命令为系统默认的python3添加必要权限:
sudo setcap cap_sys_admin,cap_net_admin+eip $(which python3)
- 之后直接用普通用户身份运行脚本即可:
python3 test.py
注意:如果使用虚拟环境,需要把
$(which python3)替换成虚拟环境中python的绝对路径,比如/home/onetwothree/venv/bin/python3
方法二:在root环境安装pyautogui(使用sudo运行)
如果坚持用sudo运行脚本,需要把pyautogui安装到root的Python环境中:
- 执行sudo安装命令:
sudo pip3 install pyautogui
- 再用sudo运行脚本:
sudo python3 test.py
内容的提问来源于stack exchange,提问作者nawwwww
相关产品推荐
相关产品推荐

