python – sphinx-apidoc选择子模块,但autodoc不会记录它们
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – sphinx-apidoc选择子模块,但autodoc不会记录它们,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2741字,纯文字阅读大概需要4分钟。
内容图文
我一直在研究PyQt5的项目(在这里找到:https://github.com/MaVCArt/StyledPyQt5),该项目使用包结构使导入更合乎逻辑.到目前为止,我已经相对成功地使用Sphinx记录了代码,至少在我介绍包结构之前. (以前,一切都在一个文件夹中)
以下是问题:当我运行sphinx-apidoc时,一切运行正常,没有错误.更重要的是,autodoc很好地接收了我所有的子模块.这是我的一个文件的内容:
styledpyqt package
==================
Subpackages
-----------
.. toctree::
:maxdepth: 8
styledpyqt.core
Submodules
----------
styledpyqt.StyleOptions module
------------------------------
.. automodule:: styledpyqt.StyleOptions
:members:
:undoc-members:
:show-inheritance:
styledpyqt.StyleSheet module
----------------------------
.. automodule:: styledpyqt.StyleSheet
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: styledpyqt
:members:
:undoc-members:
:show-inheritance:
如您所知,所有子模块都被拾取.
但是,当我在此运行make html时,这些模块都没有被记录(意味着标题存在,但没有显示任何方法,类或成员).在生成的HTML中,它们只是标题,下面没有任何内容.我知道他们在代码注释中已正确设置,因为代码在现在和包结构的设置之间没有改变,也就是当文档确实有效时.
有没有人有任何想法可能是什么原因?
注意:为了帮助解决这个问题,这里是我的文件夹结构的简短细分:
styledpyqt
+ core
+ + base
+ + + __init__.py ( containing a class definition )
+ + + AnimationGroups.py
+ + + Animations.py
+ + __init__.py
+ + Color.py
+ + Float.py
+ + Gradient.py
+ + Int.py
+ + String.py
+ __init__.py
+ StyleOptions.py
+ StyleSheet.py
解决方法:
我最终最终修复了这个问题 – 似乎我忽略了一些错误,而且sphinx工作得很好.我在conf.py中添加了包中包含的所有路径,它只是在那里工作:
conf.py:
sys.path.insert(0, os.path.abspath('../StyledPyQt5'))
sys.path.insert(0, os.path.abspath('../StyledPyQt5/styledpyqt'))
sys.path.insert(0, os.path.abspath('../StyledPyQt5/styledpyqt/core'))
sys.path.insert(0, os.path.abspath('../StyledPyQt5/styledpyqt/core/base'))
一切顺利.
这里需要注意的是,我在与代码不同的目录中生成文档非常重要.如果您使用sphinx-apidoc生成.rst文件,并且您正在使用gh-pages分支来获取像我这样的文档,请不要忘记在主分支上单独生成HTML页面.否则,将不会有任何代码来源.我的工作流现在看起来像这样:
>通过运行git checkout master确保我在主分支上
>运行sphinx-apidoc -F -P -o ..output_dir ..source_dir,其中output_dir与source_dir不同.
>运行make html,确保_build / html位于我的repo的任一分支中的目录中.
>运行git checkout gh-pages切换到我的gh-pages分支,删除代码文件并用html文档页面替换它们.
>将_build / html中所有新生成的HTML文件复制到gh-pages主文件夹,覆盖任何更改.
>运行git commit -am“Docs Update”gh-pages提交更改
>运行git push origin gh-pages将提交推送到github
>运行git checkout master让我重回主分支
我知道有十几个教程在那里记录这个,但我希望这个小细节可能在某些时候帮助某人.
内容总结
以上是互联网集市为您收集整理的python – sphinx-apidoc选择子模块,但autodoc不会记录它们全部内容,希望文章能够帮你解决python – sphinx-apidoc选择子模块,但autodoc不会记录它们所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。