我正在为 Python 使用graphviz库。
当我从终端运行脚本时,会创建图表,但是当我使用posix_spawn从C程序启动脚本时,我收到错误消息说
“ValueError:在路径中找不到程序点”(我尝试了所有选项:'neato'、'dot'、'twopi'、'circo'、'fdp'、'nop')。
我的 Python 脚本使用#!/usr/local/bin/python位置。我尝试明确使用此路径并尝试了相同的顺序:
import pygraphviz as pgv
G = pgv.AGraph(directed=True)
G.add_node(1)
G.get_node(1).attr['label'] = 'hi'
G.draw('test.png', prog='dot')
它奏效了
我不知道为什么在使用 posix_spawn 调用脚本后,graphviz 库无法再找到路径。
编辑:
将点路径添加到:bash_profile、bash_rc 和 etc/paths 后,当我尝试从 Python 脚本和 C 程序打印路径时,我得到 /usr/bin:/bin:/usr/sbin:/sbin,而我的 echot $ PATH 有很多行。
还尝试从 Python 附加 PATHsys.path.append('/opt/local/bin/dot')
PS 我使用 Webots 作为我的 IDE