python ImportError Openvino скриптом и оболочкой - PullRequest
1 голос
/ 07 октября 2019

Когда я запускаю скрипт python по команде sudo python script.py Я получаю сообщение об ошибке в строке

from openvino.inference_engine import IENetwork, IECore

Ошибка:

ImportError: No module named openvino.inference_engine

Но когда я открываю оболочку Python и запускаю

from openvino.inference_engine import IENetwork, IECore

Я не получаю эту ошибку.

В чем причина различия и как исправить эту ошибку?

1 Ответ

1 голос
/ 10 октября 2019

Проблема, с которой вы сталкиваетесь, заключается в том, что путь механизма логического вывода не найден в переменной пути. В openvino переменные пути, такие как путь к механизму вывода openvino, настраиваются для пользователя путем запуска сценария оболочки setupvars.sh по следующему пути:

intel / 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на путь Судо. Это можно сделать, отредактировав файл setupvars.sh, изменив команды, используемые для установки путей, как показано в следующем примере:

Например:

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

следует заменить на

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