Python 3.x 为什么使用ipython3或sudo Python 3导入不同?

Python 3.x 为什么使用ipython3或sudo Python 3导入不同?,python-3.x,python-import,sudo,Python 3.x,Python Import,Sudo,我试图使用CircuitPython库,但遇到了一些问题,我将来自in/lib的文件 这很有效 $ ipython3 Python 3.7.3, blabla info >> import sys >> sys.path.append("/lib/adafruit_hid") >> import adafruit_hid 这也行 $ python3 Python 3.7.3, same blabla info >> import sys >

我试图使用CircuitPython库,但遇到了一些问题,我将来自in/lib的文件

这很有效

$ ipython3
Python 3.7.3, blabla info
>> import sys
>> sys.path.append("/lib/adafruit_hid")
>> import adafruit_hid
这也行

$ python3
Python 3.7.3, same blabla info
>> import sys
>> sys.path.append("/lib/adafruit_hid")
>> import adafruit_hid
这并不重要

$ sudo python3
Python 3.7.3, same blabla info
>> import sys
>> sys.path.append("/lib/adafruit_hid")
>> import adafruit_hid
ModuleNotFoundError: No module named 'adafruit_hid'

由于脚本需要以root身份运行,我被卡住了

我相信这个问题与这里的问题有关:

本质上,它在sudo下运行不同版本的python。这可能意味着它无法正确运行库

编辑: 这也可能与。 尝试使用-E标志运行

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

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


我明确地使用python3来避免这种问题,我想,我也想解决它:D@azro,我看到你的版本可能与这些帖子在问题上有所不同。我会调查的。
sudo -E python myScriptName.py