无法使用sudo运行Python脚本

2024-06-01 02:44:29 发布

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

我有一个简单的脚本,它使用signalr-client-py作为外部模块

from requests import Session
from signalr import Connection
import threading

当我尝试使用sudo python myScriptName.py运行脚本时,我得到一个错误:

Traceback (most recent call last):
  File "buttonEventDetectSample.py", line 3, in <module>
    from signalrManager import *
  File "/home/pi/Desktop/GitRepo/DiatAssign/Main/signalrManager.py", line 2, in <module>
    from signalr import Connection
ImportError: No module named signalr

如果我只运行脚本键入python myScriptName.py,它工作得非常好,但我需要将sudo放在前面,因为稍后在我的其他脚本(使用此脚本)中,我会对文件系统执行写操作

我对Python非常陌生,这就是为什么我需要知道如何处理这种情况。如果我键入pydoc modules,我会得到一个包含以下内容的列表:

signalr
signalrManager

如果我键入pip freeze,我可以看到以下列表:

signalr-client==0.0.7

Tags: infrompyimport脚本client键入line
2条回答

您需要检查信号器安装的位置。sudo在root用户可用的环境中运行该程序,如果signalr未在全局范围内安装,则无法获取该程序。尝试“sudo pip freeze”查看根环境中的可用内容

默认情况下,sudo在不同的环境中运行命令。 您可以使用-E开关要求sudo保存环境

sudo -E python myScriptName.py

它也有自身的安全风险。所以要小心

相关问题 更多 >