Как установить путь для исполняемого файла GraphVIZ с использованием UWSGI в виртуальной среде Python на Ubuntu? - PullRequest
0 голосов
/ 23 октября 2018

Я запускаю приложение Flask поверх UWSGI и nginx.В моем приложении Flask я использую GraphVIZ.

Если я запускаю Flask напрямую, все работает.Однако, если я запускаю его через UWSGI, я получаю следующую фатальную ошибку: graphviz.backend.ExecutableNotFound: не удалось выполнить ['dot', '-Tsvg', '-O', 'graphviz_dot_graph'], убедитесь, что исполняемые файлы Graphvizнаходятся в вашей системе PATH

Я проверил, что моя установка GraphVIZ находится на / usr / bin, а $ PATH включает / usr / bin.Кажется, что либо UWSGI (или, возможно, nginx) переопределяет мой системный путь, поэтому сценарий, который легко найти при непосредственном запуске, больше не найден.

Есть идеи, как решить эту проблему?

1 Ответ

0 голосов
/ 24 октября 2018

Я решил это, похоже, что вызов виртуальной среды перекрывает мой путь.Решением этой проблемы было добавление следующего обходного пути к скрипту Flask Python:

import os
os.environ["PATH"] += os.pathsep + r'/usr/bin'

Замените / usr / bin на то место, где находится ваш исполняемый файл GraphVIZ (что вы обычно можете вывести, написав 'whereis graphviz' на вашемоболочки).

...