繁体   English   中英

通过python脚本设置环境变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM