作为构建命令的一部分,更改sphinx conf.py中的变量

Change variable in sphinx conf.py as part of build command(作为构建命令的一部分,更改sphinx conf.py中的变量)
本文介绍了作为构建命令的一部分,更改sphinx conf.py中的变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有conf.py的Sphinx项目,其中我使用一个变量来指定我的产品名称,如下所示:

device_name = "ProductName"
rst_epilog = f".. |device_name| replace:: {device_name}"

我希望能够在构建过程中将ProductName的值作为.bat文件的一部分进行修改,因为我正在构建同一项目两次,分别针对我的两个产品:

sphinx-build  -t ce2 -b html -d _build_ce2/doctrees source _build_ce2/html -E
sphinx-build  -t ce1 -b html -d _build_ce1/doctrees source _build_ce1/html -E

有没有办法直接在Build命令中修改conf.py变量device_name

推荐答案

我最终使用环境变量解决了此问题。

conf.py

# get environment variables (set as part of make .bat files)
env_device_name = os.getenv("DEVICENAME")

# set device name
if env_device_name != None:
    device_name = env_device_name
else:
    device_name = "CANedge2"  # default device name

make.bat

SET DEVICENAME=Product2
sphinx-build  -t ce2 -b html -d _build_ce2/doctrees source _build_ce2/html -E
SET DEVICENAME=Product1
sphinx-build  -t ce1 -b html -d _build_ce1/doctrees source _build_ce1/html -E

这篇关于作为构建命令的一部分,更改sphinx conf.py中的变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)