[英]How to use Sphinx auto-documentation when Python file won't compile
今天的问题更加棘手,因为我今天在Sphinx主页上使用搜索功能还没有运气。
我有一组要从文档字符串记录的模块。 但是,这些不是纯Python脚本。 它们不会按原样编译,因为它们是从C#应用程序运行的,该C#应用程序在执行范围内创建了一个新变量。
对于Python编译器,看起来我有一个未定义的方法(从技术上讲,我一直这样做,直到C#创建IronPython脚本引擎并创建该方法)。
当我跑步时:
sphinx-build -b html output/html
我得到:
NameError: name 'injected_method' is not defined
如何使Sphinx忽略编译错误并仅生成我的文档?
编辑:
如果有人知道Sphinx的替代方案(例如Epydoc)是否不必编译Python脚本来获取函数签名和文档字符串,那也将有所帮助。 Sphinx是外观最好的文档生成器,但是如果需要的话,我会放弃它。
好吧,您可以尝试:
也许您可以将Injected_method定义为空函数,以便文档可以正常工作。 您需要确保要注入的injected_method的定义在新的injected_method存根之后发生。
#By empty function I mean a function that looks like this
def injected_method():
pass
好的,我找到了一种解决错误的方法。
设置嵌入式脚本环境时,不要使用:
ScriptScope.SetVariable("injected_method", myMethod);
我现在正在使用:
ScriptRuntime.Globals.SetVariable("injected_method", myMethod);
然后,在脚本中:
import injected_method
然后,我在搜索路径中创建了一个虚拟的Injection_method.py文件,该文件为空白。 我在构建C#项目的过程中删除了虚拟文件,以避免发生任何冲突。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.