使用Python设置环境变量

使用Python设置环境变量,python,Python,在我上面的代码中,设置的路径输出打印正确,但当我使用“echo$PATH”进行检查时,它并没有改变实际的路径变量。我做错了什么?非常感谢您的快速帮助。1,我认为应该更改以下代码 currentPath = os.environ['PATH'] myPath = "/auto/sw/packages/bin" match = re.search(myPath, currentPath) if match is not None: print 'PATH '+ match.group(0)+

在我上面的代码中,设置的路径输出打印正确,但当我使用“echo$PATH”进行检查时,它并没有改变实际的路径变量。我做错了什么?非常感谢您的快速帮助。

1,我认为应该更改以下代码

currentPath = os.environ['PATH']
myPath = "/auto/sw/packages/bin"
match = re.search(myPath, currentPath)
if match is not None:
    print 'PATH '+ match.group(0)+ 'FOUND'
else:
    os.environ['PATH'] = os.environ['PATH'] + myPath
    print 'SET PATH: ' + os.environ['PATH']
新的

os.environ['PATH'] = os.environ['PATH'] + myPath 
2、python脚本退出后,可以启动“echo$PATH”。尝试用python脚本打印它,如下所示

os.environ['PATH'] = os.environ['PATH'] + ":" + myPath 

Python脚本退出后,您是否尝试在shell中
回显$PATH
?如果是这样的话,就不可能以这种方式改变环境变量。您可以在当前作用域和子流程中更改环境变量,但不能更改外部作用域/调用流程的环境。环境更改只会向下传播,并且您的Python代码正在从调用进程/外壳分叉的子进程中运行。但我的意图是改变脚本的路径。应该有办法做到这一点。如果我成功的话,我会在这里发布。非常感谢。我试过这两个。但它仍然没有显示新的路径设置,一旦我走出脚本。我可以从搜索中看出,从脚本中设置环境变量并不像我想的那样直接。深入挖掘以获得正确的解决方案。
os.system("echo $PATH")