通过sudo执行python脚本没有问题, 可是如果切换为root账户再执行脚本, 就会出现import失败的问题
其实问题在于不是root用户的问题, 而是对于python而言, 不同的用户, pip安装的库是存放于不同的文件夹下, 而且不同用户的系统路径也不一样
可以在python环境下直接运行下面代码查看
import sys
print (sys.path)
比如对于root用户而言, sys.path如下
对于普通用户而言, sys.path如下
而项目所用到的包是在普通用户下安装的, 路径是放在个人文件夹之下, 如此, 切换为root用户之后当然找不到该包了
解决方法:
可在要运行的py文件中加入个人文件夹下的路径,如
import sys
sys.path.append('/home/username/.local/lib/python3.6/site-packages')
这样切换到root环境就可以运行了