python - 如果 sudo 或用户:root,则找不到 python 模块
问题描述
当我想在当前用户下将模块导入 Python 时,导入工作正常。但是当我想以root用户身份导入相同的模块时,突然找不到该模块。
这是证明:
root@raspberrypi:/home/pi/Programs# whoami
root
root@raspberrypi:/home/pi/Programs# python3
Python 3.7.3 (default, Apr 3 2019, 05:39:12)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import paho.mqtt.client as paho
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'paho'
>>>
root@raspberrypi:/home/pi/Programs# su pi
pi@raspberrypi:~/Programs $ python3
Python 3.7.3 (default, Apr 3 2019, 05:39:12)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import paho.mqtt.client as paho
>>>
pi@raspberrypi:~/Programs $
我已经尝试.bashrc
通过添加到模块来修改 rootPYTHONPATH
身份,但没有成功。我错过了什么?
这是作为普通用户的输出:
pi@raspberrypi:~/Programs $ whoami
pi
pi@raspberrypi:~/Programs $ python3 -c 'import sys; print(sys.path)'
['', '/home/pi/Programs', '/usr/local/lib/python3.7/dist-packages/Adafruit_PCA9685', '/usr/local/lib/python3.7/dist-packages/Adafruit_GPIO', '/home/pi/.local/lib/python3.7/site-packages/paho', '/home/pi/Programs/usr/local/lib/python3.7/site-packages/paho', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/home/pi/.local/lib/python3.7/site-packages', '/usr/local/lib/python3.7/dist-packages', '/usr/local/lib/python3.7/dist-packages/rpi_ws281x-1.0.0-py3.7-linux-armv7l.egg', '/usr/lib/python3/dist-packages']
这是作为根的输出:
pi@raspberrypi:~/Programs $ su
root@raspberrypi:/home/pi/Programs# python3 -c 'import sys; print(sys.path)'
['', '/home/pi/Programs', '/usr/local/lib/python3.7/dist-packages/Adafruit_PCA9685', '/usr/local/lib/python3.7/dist-packages/Adafruit_GPIO', '/home/pi/.local/lib/python3.7/site-packages/paho', '/home/pi/Programs/usr/local/lib/python3.7/site-packages/paho', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/dist-packages', '/usr/local/lib/python3.7/dist-packages/rpi_ws281x-1.0.0-py3.7-linux-armv7l.egg', '/usr/lib/python3/dist-packages']
似乎在两个版本中的路径paho
是相同的!???
解决方案
推荐阅读
- java - 如何根据一组随机生成的字母验证输入。还有,如何建立查房系统
- javascript - 在事件中反应颜色背景
- javascript - 为每 3 个项目 Vue.js 创建新行
- android - Opengl es 2.0片段着色器中有没有办法获得以前的片段颜色
- c# - 如何在剑道网格中同时启用 autoFitColumn() 和水平滚动?
- r - 使用 RSelenium 在多个页面上抓取网页并使用正则表达式选择电子邮件
- python - 在某些点找到最大值和最小值 Pandas Python
- javascript - PixiJS 排序精灵
- mysql - 在mysql中将两个json数组作为key-value并创建一个json对象
- php - 如何将excel文件同时导入两个带有输入标签的表格?