我被难住太久了。希望有人能帮忙。
我正在编写一个python cli应用程序,它需要为当前命令提示会话(windows)设置一个临时环境变量(path)。应用程序已经使用here中的方法为所有未来会话永久设置了环境变量。
要尝试为当前会话设置临时env vars,我尝试了以下操作:
使用os.environ
设置环境变量
使用使用临时文件的答案here。不幸的是,当直接从cmd提示符运行而不是从python运行时,这会起作用。
使用SET
,subprocess.call
呼叫subprocess.check_call
该工具的用户将需要这样做,这样他们就不必关闭命令提示符来利用我永久设置的环境变量。
我见过其他应用程序这样做,但我不确定如何用python来实现这一点。
最佳答案
强力但简单的做法是在stdout上以批处理脚本的形式发出分配,并在现有的解释器中执行该脚本(类似于bash中的source
):
python myscript >%TEMP%\myscript-vars.bat
call %TEMP%\myscript-vars.bat
del %TEMP%\myscript-vars.bat
关于python - 如何从Python设置当前命令提示符 session 的环境变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39187043/