[英]Set an environment variable from a python script
我正在尝试通过CI / CD自动化构建,测试和部署。 我有一个python脚本设计用于查询我的git远程存储库,选择语义版本格式(xxx)的最新标签,并根据更改的类型对其进行递增。
我想设置环境变量(GIT_NEW_VERSION),以便可以在我的Makefile中使用它,并且生成的二进制文件将具有可用的版本。 问题在于,python脚本在无法访问父流程变量的子流程中运行。 因此,我只能为当前进程和之后创建的任何进程修改变量,而不能为调用python脚本的进程修改变量。
我可以从python脚本中调用make
,但这对于错误管理和使用CI工具进行日志记录来说并不理想。
重击:
LD_LIBRARY_PATH=my_path
sqsub -np $1 /path/to/executable
在Python中类似:
import os
import subprocess
import sys
os.environ['LD_LIBRARY_PATH'] = "my_path" # visible in this process + all children
subprocess.check_call(['sqsub', '-np', sys.argv[1], '/path/to/executable'],
env=dict(os.environ, SQSUB_VAR="visible in this subprocess"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.