wasn notebook ipynb found failed convert python ipython ipython-notebook

notebook - ¿Cómo convertir portátiles ipython a PDF y HTML?



jupyter notebook to pdf (8)

Quiero convertir mis ipython-notebooks para imprimirlos, o simplemente enviarlos a otro en formato html. He notado que ya existe una herramienta para hacer eso, nbconvert . Lo descargué, pero no tengo idea de cómo convertir el portátil, con nbconvert2.py ya que nbconvert dice que está en desuso. nbconvert2.py dice que necesito un perfil para convertir el portátil, ¿qué es? ¿Existe una documentación sobre esta herramienta?


  1. Convertir el archivo de cuaderno de IPython a html.

    ipython nbconvert --to html notebook.ipynb

    Esto convertirá el archivo de documento IPython notebook.ipynb al formato de salida html.

    Actualización: para la salida HTML, ahora debe usar jupyter en lugar de ipython:

    jupyter nbconvert --to html notebook.ipynb

  2. Convierta el archivo html notebook.html en un archivo pdf llamado notebook.pdf. En Windows, Mac o Linux, instale wkhtmltopdf . wkhtmltopdf es una utilidad de línea de comandos para convertir html a pdf usando WebKit. Puede descargar wkhtmltopdf desde la página web vinculada, o en muchas distribuciones de Linux se puede encontrar en sus repositorios.

    wkhtmltopdf notebook.html notebook.pdf


De la docs :

Si desea proporcionar a los demás una vista estática en HTML o PDF de su cuaderno, use el botón Imprimir. Esto abre una vista estática del documento, que puede imprimir en PDF utilizando las instalaciones de su sistema operativo, o guardar en un archivo con la opción ''Guardar'' de su navegador web (tenga en cuenta que, por lo general, esto creará un archivo html y un directorio llamado notebook_name_files al lado que contiene toda la información de estilo necesaria, por lo que si desea compartir esto, debe enviar el directorio junto con el archivo html principal).


He estado buscando una forma de guardar cuadernos como html, ya que siempre que intento descargar como html con mi nueva instalación de Jupyter, siempre obtengo un 500 : Internal Server Error The error was: nbconvert failed: validate() got an unexpected keyword argument ''relax_add_props'' error de la 500 : Internal Server Error The error was: nbconvert failed: validate() got an unexpected keyword argument ''relax_add_props'' . Por extraño que parezca, he encontrado que descargar como html es tan simple como:

  1. Clic izquierdo en el cuaderno.
  2. Haga clic en ''Guardar como ...'' en el menú desplegable
  3. Guardar en consecuencia

No hay vista previa de impresión, no hay impresión, no nbconvert. Usando la Version: 1.0.0 Jupyter Version: 1.0.0 . Solo una sugerencia para probar (obviamente no todas las configuraciones son iguales).


Me parece que el método más sencillo para convertir un cuaderno que está en la web a pdf es verlo primero en el servicio web nbviewer . A continuación, puede imprimirlo en un archivo pdf. Si el notebook está en su disco local, primero cárguelo en un repositorio de github y use su url para nbviewer.


No puedo conseguir que el pdf funcione todavía. Los documentos implican que debería poder hacer que funcione con el látex, así que quizás mi látex no esté funcionando. http://ipython.org/ipython-doc/rel-1.0.0/interactive/nbconvert.html $ ipython --version 1.1.0 $ ipython nbconvert --to latex --post PDF myfile.ipynb [NbConvertApp] ... raise child_exception OSError: [Errno 2] No such file or directory $ ipython nbconvert --to pdf myfile.ipynb [NbConvertApp] CRITICAL | Bad config encountered during initialization: [NbConvertApp] CRITICAL | The ''export_format'' trait of a NbConvertApp instance must be any of [''custom'', ''html'', ''latex'', ''markdown'', ''python'', ''rst'', ''slides''] or None, but a value of u''pdf'' was specified. $ ipython --version 1.1.0 $ ipython nbconvert --to latex --post PDF myfile.ipynb [NbConvertApp] ... raise child_exception OSError: [Errno 2] No such file or directory $ ipython nbconvert --to pdf myfile.ipynb [NbConvertApp] CRITICAL | Bad config encountered during initialization: [NbConvertApp] CRITICAL | The ''export_format'' trait of a NbConvertApp instance must be any of [''custom'', ''html'', ''latex'', ''markdown'', ''python'', ''rst'', ''slides''] or None, but a value of u''pdf'' was specified.

Sin embargo, HTML funciona muy bien usando ''diapositivas'', ¡y es hermoso! $ ipython nbconvert --to slides myfile.ipynb ... [NbConvertApp] Writing 215220 bytes to myfile.slides.html

// Actualización 2014-11-07Fri .: La sintaxis de IPython v3 difiere, es más simple; $ ipython nbconvert --to PDF myfile.ipynb En todos los casos, parece que faltaba la biblioteca ''pdflatex''. Estoy investigando eso.


Si está utilizando la versión de nube de sagemath , simplemente puede ir a la esquina izquierda,
seleccione Archivo -> Descargar como -> Pdf a través de LaTeX (.pdf)
Comprueba la captura de pantalla si quieres.
Captura de pantalla Convertir ipynb a pdf

Si no funciona por alguna razón, puedes intentarlo de otra manera.
seleccione Archivo -> Vista previa de impresión y luego en la vista previa
Haga clic derecho -> Imprimir y luego seleccione guardar como pdf.


nbconvert aún no ha sido reemplazado por completo por nbconvert2, todavía puede usarlo si lo desea, de lo contrario habríamos eliminado el archivo ejecutable. Es solo una advertencia de que ya no solucionamos el error nbconvert1.

Lo siguiente debería funcionar:

./nbconvert.py --format=pdf yourfile.ipynb

Si está en una versión suficientemente reciente de IPython, no use la vista de impresión, solo use el cuadro de diálogo de impresión normal. El corte de gráficos en chrome es un problema conocido (Chrome no respeta algunos css de impresión) y funciona mucho mejor con Firefox, no todas las versiones todavía.

En cuanto a nbconvert2, sigue siendo altamente dev y los documentos deben escribirse.

Nbviewer usa nbconvert2 por lo que es bastante decente con HTML.

Lista de perfiles disponibles actualmente:

$ ls -l1 profile|cut -d. -f1 base_html blogger_html full_html latex_base latex_sphinx_base latex_sphinx_howto latex_sphinx_manual markdown python reveal rst

Darte los perfiles existentes. (Puede crear su propio documento, cf futuro, ./nbconvert2.py --help-all debería darle alguna opción que pueda usar en su perfil).

entonces

$ ./nbconvert2.py [profilename] --no-stdout --write=True <yourfile.ipynb>

Y debería escribir sus archivos (tex) siempre que extraiga las cifras en cwd. Sí, sé que esto no es obvio, y probablemente cambiará por lo tanto, no hay doc ...

La razón de esto es que nbconvert2 será principalmente una biblioteca de Python donde en pseudo código puedes hacer:

MyConverter = NBConverter(config=config) ipynb = read(ipynb_file) converted_files = MyConverter.convert(ipynb) for file in converted_files : write(file)

El punto de entrada vendrá más tarde, una vez que la API se haya estabilizado.

Solo señalaré que @jdfreder (perfil github) está trabajando en la exportación de tex / pdf / sphinx y es el experto en generar PDF desde el archivo ipynb en el momento de escribir este documento.


También pasa la bandera --execute para obtener la salida

jupyter nbconvert --execute --to html notebook.ipynb jupyter nbconvert --execute --to pdf notebook.ipynb

La mejor práctica es mantener la salida del portátil fuera del control de versiones, consulte: Uso de portátiles IPython bajo el control de versiones

Pero luego, si no pasa --execute , la salida no estará presente en el HTML, vea también: ¿Cómo ejecutar un cuaderno .ipynb Jupyter desde la terminal?

Para un fragmento HTML sin encabezado: ¿Cómo exportar un cuaderno de IPython a HTML para una publicación de blog?

Probado en Jupyter 4.4.0.