如何使用UWSGI和Ubuntu上的Python虚拟环境设置GraphVIZ可执行文件的路径?

如何使用UWSGI和Ubuntu上的Python虚拟环境设置GraphVIZ可执行文件的路径?,ubuntu,uwsgi,graphviz,pygraphviz,Ubuntu,Uwsgi,Graphviz,Pygraphviz,我正在UWSGI和nginx上运行Flask应用程序。在我的烧瓶应用程序中,我使用GraphVIZ 如果我直接运行烧瓶,一切正常。但是,如果通过UWSGI运行它,则会出现以下致命错误: graphviz.backend.ExecutableNotFound:未能执行['dot'、'-Tsvg'、'-O'、'graphviz_dot_graph'],请确保graphviz可执行文件位于系统的路径上 我已经检查了GraphVIZ安装是否在/usr/bin上,并且$PATH确实包含/usr/bin。似

我正在UWSGI和nginx上运行Flask应用程序。在我的烧瓶应用程序中,我使用GraphVIZ

如果我直接运行烧瓶,一切正常。但是,如果通过UWSGI运行它,则会出现以下致命错误: graphviz.backend.ExecutableNotFound:未能执行['dot'、'-Tsvg'、'-O'、'graphviz_dot_graph'],请确保graphviz可执行文件位于系统的路径上

我已经检查了GraphVIZ安装是否在/usr/bin上,并且$PATH确实包含/usr/bin。似乎是UWSGI(或者nginx)覆盖了我的系统路径,这样在直接运行时很容易找到的脚本就再也找不到了


有没有办法解决这个问题?

我解决了这个问题,似乎调用虚拟环境会覆盖我的路径。解决方案是在Flask Python脚本中添加以下变通方法:

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

将/usr/bin替换为GraphVIZ可执行文件所在的位置(通常可以通过在shell上写入“whereis GraphVIZ”来推断)。

请粘贴一些代码。如何调用graphviz命令?