无法使用 sudo 运行 Python 脚本

use*_*702 6 python sudo pip

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

from requests import Session
from signalr import Connection
import threading
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 运行我的脚本时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
Run Code Online (Sandbox Code Playgroud)

如果我只运行我的脚本输入python myScriptName.py它工作得很好但是我需要在前面有sudo因为稍后在我的其他脚本中(使用这个脚本)我在文件系统上执行写操作。

我对 Python 很陌生,这就是为什么我需要知道如何处理这种情况。如果我输入,pydoc modules我会得到一个列表,其中包含:

signalr
signalrManager
Run Code Online (Sandbox Code Playgroud)

如果我输入,pip freeze我可以看到那里列出:

signalr-client==0.0.7
Run Code Online (Sandbox Code Playgroud)

Tri*_*waj 8

默认情况下 sudo 在不同的环境中运行命令。您可以要求 sudo 使用-Eswitch来保护环境。

sudo -E python myScriptName.py
Run Code Online (Sandbox Code Playgroud)

它带有自己的安全风险。所以要小心