如何在Windows 10中为python添加os.environ [“ PATH”]的路径?

时间:2019-11-04 20:50:22

标签: python python-3.x windows graphviz neato

我有一个脚本,其中有一个错误,因为在路径中找不到'neato.exe'。当我查看os.environ [“ PATH”]时,确实没有C:\\Program Files (x86)\\Graphviz2.38\\binneato.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)

1 个答案:

答案 0 :(得分:0)

关于Windows路径的几点注意事项:

  1. Windows路径是用户定义和系统定义的组合-前者附加到后者
  2. Windows路径的长度限制很短

不幸的是,由于上述原因,您可能希望临时更改程序的路径,以确保它可以找到所需的二进制文件。

在执行脚本之前,您可以在Graphviz bin目录的开头设置PATH环境变量。