【发布时间】:2011-02-08 11:14:51
【问题描述】:
我正在使用用 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 类。
谁能帮我解决这个问题?
【问题讨论】:
-
对不起,以前没有使用过 Jython,但是您是否尝试过创建一个包装器来捕获“python”调用,这样当 Sphinx 调用
python时,它最终会调用调用 jython 的包装器?另一件事是,对于我的项目,我必须包装我的一些imports 和专门为 Sphinx 编写的代码。您可以在导入 jython 库之前检查环境变量或其他一些全局变量吗?或者,您可以创建与您正在使用的 jython 库具有相同接口的虚拟 python 库,并且仅在运行 Sphinx 时导入这些虚拟库 [cont] -
操作环境变量
PYTHON_PATH或sys.path。 -
感谢您的回答。我会试试你的建议。
-
我在尝试为我的 C++ 代码(导出到 python)创建文档时遇到了类似的问题。我用于创建 python 绑定的工具 - sip 也有一些用于导出文档的选项。您用于 java 的那个可能也有。
标签: java python jython python-sphinx