Python在与sudo一起使用时找不到模块

2024-07-01 07:10:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用需要访问sudo的键盘库,但是当我尝试使用sudo python运行程序时,找不到其他库

import pyautogui
import keyboard

if keyboard.is_preseed('w'):
....

因此,当我不使用sudo键盘时,无法工作;当我使用sudo python时,无法找到其他库


Tags: import程序ifissudo键盘keyboardpyautogui
2条回答

默认情况下,Python为每个用户在安装目录中使用不同的包。 例如,您可以找到键盘包的位置,如下所示:

>>> import keyboard
>>> keyboard.__file__
'/home/user/.local/lib/python3.8/site-packages/keyboard/__init__.py'

如您所见,它位于/home/user中,这意味着只有用户应该使用它。 要为root用户安装软件包,只需使用sudo运行pip

sudo pip3 install keyboard

“sudo”建立了一个新的环境,因为它的目标是安全,因为新用户不会像你一样看待世界

您可以使用keep-environment参数“sudo”来保留其中一些,但这不能保证您的视图是相同的。这可能是权限问题、相对路径问题、家庭差异或其他用户的用户shell初始化设置。您很可能可以在sudo的另一端创建一个良好的环境,比如“sudo env PYTHONSOMETHING=$PYTHONSOMETHING programname”

所以,这很复杂。我首先使用“sudo-I”获得一个交互式shell,测试它的外观,并找到要更改的内容

相关问题 更多 >

    热门问题