2011-02-08 3 views
7

저는 자바로 작성된 라이브러리를 사용하여 여러 개의 자이 썬 프로젝트를 작업 중입니다. autodoc 확장 덕분에 스핑크스와 함께 좋은 문서를 만들고 싶습니다. PoolManager는 자바 클래스이다자이 썬 프로젝트에서 스핑크스 기반 문서를 만드는 방법은 무엇입니까?

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 

을 : 나는 HTML을 만들려고 할 때 autodoc는 자바로 작성된 라이브러리를 찾을 수 없기 때문에 그러나, 나는 오류를 얻을.

누구든지이 문제를 해결할 수 있습니까?

+0

SRY 전에 자이 썬을 사용하지 않은,하지만 당신은 함정 때 그 '파이썬'호출 같은 것이다 래퍼를 만드는 시도했다 스핑크스는 파이썬을 호출하여 자이 썬을 호출하는 래퍼를 호출한다. 다른 하나는 내 프로젝트를위한 것인데, 스핑크스를위한 나의'import's와 코드를 포장해야했다. 자이 썬 라이브러리를 가져 오기 전에 환경 변수 또는 다른 전역 변수를 확인할 수 있습니까? 또는, 사용하고있는 자이 썬 라이브러리와 동일한 인터페이스를 가진 더미 파이썬 라이브러리를 생성하고, 환경 변수'PYTHON_PATH' 또는'sys.path'를 조작하여 [cont] –

+0

으로 Sphinx를 실행하면서이 더미 만 가져올 수 있습니다. –

+0

답장을 보내 주셔서 감사합니다. 나는 네가 제안한 것을 시도 할 것이다. –

답변

6

스핑크스는 자이 썬 프로젝트를 문서화하는 데 사용할 수 있지만 autodoc은 Java로 작성된 코드에서 작동하지 않습니다. autodoc 기능은 Python 모듈을 가져오고 검사합니다. Java 클래스에서도 동일한 작업을 수행 할 수 있습니다.

자바를위한 오토odoc (또는 비슷한 것)을 구현하는 것이 가능하지만 누군가 그것을 자원해야합니다. 스핑크스의 글쓴이 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에 따르면, 자바 코드에서 나머지 소스를 생성 할 수 있습니다 :

javasphinx-apidoc 도구는 자바 도메인 내의 sphinx-apidoc 도구 에 대위법입니다. 이것은 기존의 에서 자바 소스 코드를 사용하여 reST 소스를 생성하는 데 사용할 수 있습니다. 자바 소스 코드는 Javadoc 스타일의 주석으로 마크 업되었습니다. 그런 다음 생성 된 reST가 스핑크스의 수작업으로 작성된 문서와 함께 처리됩니다.

javasphinx는 javalang이라는 다른 라이브러리를 사용합니다.

PyPI 패키지 :

+0

이 답변을 주셔서 감사합니다. 그것은 내가 생각한 것을 확인해줍니다. 이것이 구현 될 때까지 autodoc없이 처리해야 할 것입니다. –