4

当我通过命令运行 python 脚本sudo python script.py时,行中出现错误

from openvino.inference_engine import IENetwork, IECore

错误是

ImportError: No module named openvino.inference_engine

但是当我打开 python shell 并运行时

from openvino.inference_engine import IENetwork, IECore

我没有收到此错误。

差异的原因是什么以及如何解决此错误?

4

1 回答 1

2

您面临的问题是因为在路径变量中找不到推理引擎路径。在 openvino 中,通过在以下路径中运行 setupvars.sh shell 脚本为用户设置路径变量,例如 openvino 推理引擎的路径:

英特尔/openvino_2019.1.144/bin/setupvars.sh

路径变量是针对用户设置的,并且不存在于 sudo 用户的路径变量中。因此,当您使用“”运行 python 脚本时,sudo python script.py您会收到未找到模块的错误,因为 openvino 的路径变量未正确设置为 sudo。

如果您打开 setupvars.sh,您可以看到所有路径变量都设置为没有 sudo,如下例所示

export PATH=~/intel/openvino_2019.2.242/python/python3.7:$PATH

**

解析度

** 要解决您的错误,您可以使用以下两种替代方法中的任何一种:

1)您可以运行“ python script.py”,这可以给您预期的结果。

2)如果要在“ sudo python script.py”中获取此软件包,则必须将 openvino 路径添加到 sudo 路径。这可以通过更改用于设置路径的命令来编辑 setupvars.sh 文件来完成,如下例所示

例如:

export PATH=~/intel/openvino_2019.2.242/python/python3.7:$PATH

应该替换为

sudo PATH=~/intel/openvino_2019.2.242/python/python3.7:$PATH
于 2019-10-10T08:27:38.867 回答