我有一个脚本,其中有一个错误,因为在路径中找不到'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
的脚本。有人知道如何更改anaconda的os.environ["PATH"]
中的内容吗?
我正在使用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)
答案 0 :(得分:0)
关于Windows路径的几点注意事项:
不幸的是,由于上述原因,您可能希望临时更改程序的路径,以确保它可以找到所需的二进制文件。
在执行脚本之前,您可以在Graphviz bin目录的开头设置PATH
环境变量。