我有一个简单的脚本,它使用signarclientpy作为外部模块。
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
2条答案
按热度按时间eoigrqb61#
默认情况下,sudo在不同的环境中运行命令。你可以要求sudo保护环境
-E
开关。它本身也有安全风险。所以要小心
uyto3xhc2#
你需要检查信号器安装在哪里。sudo在root可用的环境中运行该程序,如果signalr没有全局安装,它将不会被接收。尝试“sudo pip freeze”查看根环境中的可用内容。