使用sudo启动时,Python找不到模块

问题描述

我有一个使用Google助手库的脚本,并且必须从那里导入一些模块。我发现这只适用于Python虚拟环境,这真的很奇怪。在同一个文件夹中,我有一个使用GPIO引脚的脚本,它必须使用超级用户。它们彼此交互,因此当我启动GPIO脚本时,Assistant脚本也会启动。但是,由于某些原因,当以根用户启动脚本时,其中的模块无法导入。有人知道这件事吗?


解决方案

通常您可以激活一个虚拟环境并使用该环境中的解释器来运行您的脚本。但这不是必需的。

假设您在路径/Path-to-env/env下有一个虚拟env 您要运行的脚本的路径为/PATH-TO-SCRIPT/Example.py

您已经可以像

一样运行此Example.py
sudo /path-to-env/env/bin/python /path-to-script/example.py

相关文章