带有Sphinx的文档混合器Python代码

2024-04-18 21:17:55 发布

您现在位置:Python中文网/ 问答频道 /正文

Blender运行自己的Python。当我这样写Python代码时

import bpy
print(bpy.data.objects)

对于搅拌机来说,它运行良好

$ blender --background --python my_code.py
<bpy_collection[3], BlendDataObjects>

但是当我想用Sphinx和autodoc扩展来记录我的代码时,它不能导入bpy,因为它在Blender之外是未知的。你知道吗

$ cd doc/
$ make html
[...]
ModuleNotFoundError: No module named 'bpy'

如何使用Sphinx为我的Blender代码创建文档输出?你知道吗


Tags: 代码pyimportdataobjectsmysphinxcode
1条回答
网友
1楼 · 发布于 2024-04-18 21:17:55

解决方案包括修改sphinx-quickstart生成的Makefile,以及围绕sphinx.cmd.build编写一个小包装脚本:

替换Makefile中的SPHINXBUILD变量:

SPHINXBUILD = blender  background  python blender_sphinx.py  

并确保文件末尾的实际配方行包含-M标志。你知道吗

然后在与Makefile相同的目录中创建一个文件blender_sphinx.py,其内容如下:

import sys
from sphinx.cmd import build

first_sphinx_arg = sys.argv.index('-M')
build.make_main(sys.argv[first_sphinx_arg:])

现在如果你跑

$ make html

doc/目录,它将允许autodoc找到bpy并导入所有模块。你知道吗

相关问题 更多 >