开发者社区> 问答> 正文

为什么 ipython3 或 sudo python3 的入口是不同的

我正在尝试使用CircuitPython库,但遇到了一些麻烦,我将Circuitpython 包中的文件放在/ lib中。

  • this works

    $ ipython3
    

    Python 3.7.3, blabla info

    import sys sys.path.append("/lib/adafruit_hid") import adafruit_hid

  • this works too

    $ python3
    

    Python 3.7.3, same blabla info

    import sys sys.path.append("/lib/adafruit_hid") import adafruit_hid

  • this doesn't

    $ 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的身份运行

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 23:28:14 649 0
1 条回答
写回答
取消 提交回答
  • 我相信这个问题与这里的问题有关:

    https://superuser.com/questions/600349/why-sudo-python-and-python-in-terminal- start-two-different-versions-python / 600350

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

    编辑: 这也可能与无法使用sudo运行Python脚本有关。(尝试使用-E标志运行。)

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

    sudo -E python myScriptName.py

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

    回答来源:stackoverflow

    2020-03-24 23:28:22
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载