Sto lavorando su diversi progetti Jython usando librerie scritte in Java. Mi piacerebbe creare una buona documentazione con Sphinx grazie all'estensione dell'autodoc. Tuttavia quando provo a generare il codice HTML, ottengo errori perché autodoc non riesce a trovare le librerie scritte in Java:Come creare documentazione basata su Sphinx in un progetto Jython?
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
dove poolmanager è una classe Java.
Qualcuno potrebbe aiutarmi a risolvere questo problema?
Sry, non hanno usato Jython prima, ma avete provato la creazione di un wrapper che intrappola le invocazioni 'python' in modo tale che, quando Sphinx chiama 'python' e finisce per chiamare il tuo wrapper che chiama jython? L'altra cosa è che per il mio progetto ho dovuto eseguire il wrapping di alcuni dei miei 'import's e del codice appositamente per Sphinx. Puoi controllare una variabile d'ambiente o qualche altra variabile globale prima di importare una libreria jython? In alternativa, puoi creare librerie fittizie di python che hanno la stessa interfaccia delle librerie jython che stai usando e importare questi dummy mentre esegui Sphinx con [cont] –
manipolando la variabile di ambiente 'PYTHON_PATH' o' sys.path'. –
Grazie per la risposta. Proverò ciò che hai proposto. –