我正在通过UWSGI和nginx运行Flask应用程序。在我的Flask应用中,我使用GraphVIZ。
如果我直接运行Flask,一切正常。但是,如果通过UWSGI运行它,则会收到以下致命错误: graphviz.backend.ExecutableNotFound:无法执行['dot','-Tsvg','-O','graphviz_dot_graph'],请确保Graphviz可执行文件位于系统的PATH上
我已经检查了我的GraphVIZ安装在/ usr / bin上,并且$ PATH确实包含/ usr / bin。似乎要么UWSGI(或者也许是nginx)覆盖了我的系统路径,所以不再找到直接运行时容易找到的脚本。
有什么办法解决这个问题吗?
答案 0 :(得分:1)
我解决了这个问题,似乎调用虚拟环境会覆盖我的路径。解决方案是在Flask Python脚本中添加以下变通办法:
InfoWindow
将/ usr / bin替换为GraphVIZ可执行文件所在的位置(通常可以通过在shell上编写“ whereis graphviz”来推断出该位置)。