如何在Jython项目中创建基于Sphinx的文档?

时间:2011-02-08 11:14:51

标签: java python jython python-sphinx

我正在使用Java编写的库来处理几个Jython项目。由于autodoc扩展,我想用Sphinx创建一些好的文档。但是当我尝试创建html时,我得到错误,因为autodoc找不到用Java编写的库:

sphinx-build -b html -d _build/doctrees   . _build/html
Running Sphinx v1.0.5
loading pickled environment... done
building [html]: targets for 1 source files that are out of date
updating environment: 0 added, 1 changed, 0 removed
reading sources... [100%] index

/Users/myName/myJythonProject/doc/index.rst:14: (WARNING/2) 
autodoc can't import/find module 'myJythonProject', it reported error: 
"global name 'PoolManager' is not defined",
please check your spelling and sys.path

其中PoolManager是Java类。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:6)

Sphinx可用于记录Jython项目,但autodoc不适用于用Java编写的代码。 autodoc功能导入并检查Python模块。不支持对Java类进行相同的操作。

为Java实现autodoc(或类似的东西)似乎是可行的,但有人必须自愿做这件事。请参阅Sphinx作者Georg Brandl的评论:http://www.mail-archive.com/sphinx-dev@googlegroups.com/msg03162.html

我找到了一些有关a proposed GSoC 2010 project的信息,旨在为autodoc实现多语言支持。但根据this blog post,该项目尚未完成。开发人员选择了另一个GSoC项目。

sphinx-contrib repository不包含任何与autodoc相关的内容。


<强>更新

有一个名为javasphinx的新Sphinx扩展程序看起来很有趣。我没有使用过这个扩展,但根据the documentation,它可以从Java代码生成reST源:

  

javasphinx-apidoc工具是sphinx-apidoc工具的对位   在Java域中。它可用于从现有生成reST源   已使用Javadoc样式注释标记的Java源代码。该   生成的reST随后由Sphinx与手写文档一起处理。

javasphinx使用另一个名为javalang的库。

PyPI包: