我的脚本有错误,因为在路径中找不到“neato.exe”。当我查看 os.environ["PATH"] 时,确实C:\\Program Files (x86)\\Graphviz2.38\\bin
,路径neato.exe
不存在。我暂时可以通过添加这一行来进行破解,但这似乎并不令人满意。
if not 'C:\\Program Files (x86)\\Graphviz2.38\\bin' in os.environ["PATH"]:
os.environ["PATH"] += os.pathsep + 'C:\\Program Files (x86)\\Graphviz2.38\\bin'
尽管如此,它表明该错误ValueError("Program %s not found in path." neato.exe)
是一个准确的错误。当我将路径添加到 Neato 时,该脚本有效。我在windows中添加C:\Program Files (x86)\Graphviz2.38\bin
了我的环境变量,但无济于事。而且我还注意到我的路径环境中只有几条路径。Vars.,而不是 python 列出的许多。我正在使用 python 3.7 并使用 anaconda 导航器运行它。我想做一个更永久的改变,这样我就不必编辑上面neato.exe
愚蠢的每个脚本if statement
。有谁知道如何更改 os.environ["PATH"]
anaconda 中的内容?
我正在使用networkx,networkx.drawing.nx_agraph.to_agraph。脚本agraph.py
有这个函数(_which()
),需要进行路径匹配,否则会抛出错误。
def _which(self, name):
"""Searches for name in exec path and returns full path"""
import os
import glob
paths = os.environ["PATH"]
if os.name == "nt":
exe = ".exe"
else:
exe = ""
for path in paths.split(os.pathsep):
match = glob.glob(os.path.join(path, name + exe))
if match:
return match[0]
raise ValueError("No prog %s in path." % name)