2011-02-08 5 views
7

私はJavaで書かれたライブラリを使って、いくつかのJythonプロジェクトに取り組んでいます。私はautodoc拡張のおかげで、スフィンクスの良い文書をいくつか作ってみたいです。私は、HTMLを作成しようとするとautodocのは、Javaで書かれたライブラリを見つけることができないので、しかし、私はエラーを取得:JythonプロジェクトでSphinxベースのドキュメントを作成するには?

PoolManagerは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 

誰でもこの問題を解決するのに役立つでしょうか?

+0

SRYは、前のJythonを使用していないが、あなたはそれますトラップは「Pythonの呼び出しようにラッパーを作成しようとしましたSphinxは 'python'を呼び出して、jythonを呼び出すラッパーを呼び出します。もう一つは、私のプロジェクトでは、私の 'import'sとコードの一部をSphinx用にラッパーしなければなりませんでした。あなたはjythonライブラリをインポートする前に、環境変数やその他のグローバル変数を調べることができますか?あるいは、使用しているjythonライブラリと同じインタフェースを持つダミーのPythonライブラリを作成し、環境変数 'PYTHON_PATH'または' sys.path'を操作して[cont] –

+0

でSphinxを実行しながらこれらのダミーのみをインポートすることができます。 –

+0

ありがとうございます。あなたが提案したものを試してみます。 –

答えて

6

スフィンクスは、Jythonプロジェクトのドキュメントとして使用できますが、autodocはJavaで書かれたコードでは機能しません。 autodoc機能は、Pythonモジュールをインポートして検査します。 Javaクラスでも同じことをサポートしていません。

Java用のオートドック(または類似のもの)を実装することは実現可能なようですが、誰かがそれを行うためにボランティアをしなければなりません。 Sphinxの著者、Georg Brandl:http://www.mail-archive.com/[email protected]/msg03162.htmlからのコメントを参照してください。

autodocの複数言語サポートを実装することを目指して、a proposed GSoC 2010 projectについていくつかの情報が見つかりました。しかし、this blog postによれば、プロジェクトは完了していない。開発者は別のGSoCプロジェクトで作業することを選択しました。

sphinx-contrib repositoryには、autodocに関連するものは含まれていません。


更新

面白そうjavasphinxと呼ばれる新しいスフィンクスの拡張があります。私は、この拡張機能を使用していないが、the documentationによれば、JavaコードからのreSTソースを生成することができます:

javasphinx-apidocツールは、Javaドメイン内sphinx-apidocツール に対位法です。これは、既存の JavaソースコードからreSTソースを生成するのに使用できます。このソースコードには、Javadocスタイルのコメントがマークアップされています。生成されたのreSTは、Sphinxの手書き文書とともに処理されます。

javasphinxは別のライブラリjavalangを使用しています。

は、PyPIパッケージ:

+0

この詳細なお返事ありがとうございます。それは私が思ったことを確認します。私はこれが実装されるまでオートドックなしで対処しなければならないでしょう。 –

関連する問題