tutorial tablas notebook espaƱol escribir como pdf ipython jupyter

tablas - Problemas de IPython/Jupyter al guardar el cuaderno como PDF



tablas en jupyter notebook (16)

2015-4-22: Parece que una actualización de IPython significa que --to pdf debería usarse en lugar de --to latex --post PDF . Hay un problema relacionado con Github .

Por lo tanto, he estado tratando de guardar un cuaderno jupyter como PDF, pero no puedo entender cómo hacerlo. Lo primero que intento es desde el menú de archivo simplemente descargarlo como PDF, pero al hacerlo eso resulta en:

nbconvert failed: PDF creating failed

lo siguiente que intento es intentar hacer la conversión desde el Símbolo del sistema de esta manera

$ ipython nbconvert --to latex --post PDF MyNotebook.ipynb

pero nuevamente, esto resulta en un mensaje de error

ImportError: No module named ''PDF''

y si lo intento

$ ipython nbconvert --to latex MyNotebook.ipynb

esto resulta en

IPython.nbconvert.utils.pandoc.PandocMissing: Pandoc wasn''t found: Please check that pandoc is installed

si trato de instalar pandoc ( pip install pandoc ), esto me da

ImportError: No module named ''ConfigParser''

y aquí es donde me quedo atascado porque simplemente no sé qué más hacer. Alguien tiene idea de cómo solucionar lo que está mal?


Como dicen los comentarios a la pregunta, necesitará pandoc y latex (por ejemplo, TeXShop). Instalé pandoc con Homebrew, me tomó solo un segundo. Teniendo pandoc y TeXShop, podría generar látex pero no pdf (en la línea de comando).

ipython nbconvert --to latex mynotebook.ipynb

Al explorar el archivo de látex (.tex) con TeXShop, el error se debió a la falta de hojas de estilo y defs. Después de instalar todo esto (ajustebox.sty, adjcalc.sty, trimclip.sty, collectbox.sty, tc-pgf.def, ucs.sty, uni-global.def, utf8x.def, ucsencs.def), finalmente lo hizo trabajo.

Sin embargo, el resultado parece demasiado funky para mi gusto. Es una lástima que imprimir el html desde Safari pierda el color de la sintaxis. De lo contrario, no se ve tan mal. (Todo esto está en OS X).


Como miembro nuevo, no pude simplemente agregar un comentario en la publicación, pero quiero asegurar que la solución ofrecida por Phillip Schwartz funcionó para mí. Esperemos que las personas en una situación similar intenten ese camino antes con énfasis. No tener saltos de página fue un problema frustrante durante bastante tiempo, así que estoy agradecido por la discusión anterior.

Como dijo Phillip Schwartz: "Deberá instalar wkhtmltopdf: [ http://wkhtmltopdf.org/downloads.html][1]

y Nbconvert "

Luego agrega una celda del tipo "rawNBConvert" e incluye:

<p style="page-break-after:always;"></p>

Eso pareció ser el truco para mí, y el PDF generado tenía el salto de página en las ubicaciones correspondientes. Sin embargo, no necesita ejecutar el código personalizado, ya que parece que la ruta "normal" de descargar el cuaderno como HTML, abrirlo en el navegador e imprimir en PDF funciona una vez que se instalan esas utilidades.


Este problema se experimentó con Ubuntu y Mac OSX. Después de un conjunto frenético de búsquedas y ensayos, ambos fueron resueltos. Esto requiere tex y pandoc ; ambos programas externos jumbo no pueden ser instalados por el pip de Python.

Mac OSX: uso de la instalación MacPorts de pandoc

port install pandoc

Esto debería tomar casi una hora en completarse (en el caso habitual ). Si el problema persiste, es posible que deba instalar la distribución MacTeX. de TeXLive.

Para Ubuntu: instale Vanilla TeXLive desde el instalador de red , no a través de apt-get . Luego instale pandoc usando apt-get.

sudo apt-get install pandoc

Una instalación completa de TeXLive requeriría hasta 4.4 GB en disco.

Para salvar todos estos problemas, la forma recomendada de usar IPython / Jupyter Notebook sería instalar la distribución Anaconda Python.


Este script de Python tiene GUI para seleccionar con el explorador un cuaderno de Ipython que desea convertir a pdf. El enfoque con wkhtmltopdf es el único enfoque que encontré que funciona bien y proporciona archivos PDF de alta calidad. Otros enfoques descritos aquí son problemáticos, el resaltado de sintaxis no funciona o los gráficos están desordenados.

Deberá instalar wkhtmltopdf: http://wkhtmltopdf.org/downloads.html

y Nbconvert

$conda install nbconvert

Script de Python

$pip install nbconvert


Estoy usando Anaconda-Jupyter Notebook en OS: Ubuntu 16.0 para la programación de Python.

Instale Nbconvert, Pandoc y Tex:

Abra una terminal e implemente los siguientes comandos en ella.

Instale Nbconvert: aunque es parte del ecosistema Jupyter, aún instálelo nuevamente

$sudo apt-get install pandoc

O

$sudo apt-get install texlive-xetex

Pero recomendaré usar conda en lugar de pip si está usando anaconda

Instale Pandoc: dado que Nbconvert usa Pandoc para convertir la reducción a formatos distintos de HTML. Escriba el siguiente comando

pip install nbconvert # OR conda install nbconvert

Instalar TeX: para convertir a PDF, nbconvert usa el TeX. Escriba el siguiente comando

# Script adapted from CloudCray # Original Source: https://gist.github.com/CloudCray/994dd361dece0463f64a # 2016--06-29 # This will create both an HTML and a PDF file import subprocess import os from Tkinter import Tk from tkFileDialog import askopenfilename WKHTMLTOPDF_PATH = "C:/Program Files/wkhtmltopdf/bin/wkhtmltopdf" # or wherever you keep it def export_to_html(filename): cmd = ''ipython nbconvert --to html "{0}"'' subprocess.call(cmd.format(filename), shell=True) return filename.replace(".ipynb", ".html") def convert_to_pdf(filename): cmd = ''"{0}" "{1}" "{2}"''.format(WKHTMLTOPDF_PATH, filename, filename.replace(".html", ".pdf")) subprocess.call(cmd, shell=True) return filename.replace(".html", ".pdf") def export_to_pdf(filename): fn = export_to_html(filename) return convert_to_pdf(fn) def main(): print("Export IPython notebook to PDF") print(" Please select a notebook:") Tk().withdraw() # Starts in folder from which it is started, keep the root window from appearing x = askopenfilename() # show an "Open" dialog box and return the path to the selected file x = str(x.split("/")[-1]) print(x) if not x: print("No notebook selected.") return 0 else: fn = export_to_pdf(x) print("File exported as:/n/t{0}".format(fn)) return 1 main()

Después de la ejecución de estos comandos, cierre los cuadernos abiertos, actualice la página de inicio o reinicie el núcleo del cuaderno abierto. Ahora intenta descargar el cuaderno como pdf :)

Nota: Para más detalles, consulte la documentación oficial:
https://nbconvert.readthedocs.io/en/latest/install.html


Lo que encontré fue que nbconvert / utils / pandoc.py tenía un error de código que resultó en el error de mi máquina. El código verifica si pandoc está en su ruta de variables ambientales. Para mi máquina, la respuesta es no. Sin embargo, pandoc.exe es!

La solución fue agregar ''.exe'' al código en la línea 69

if __version is None: if not which(''pandoc.exe''): raise PandocMissing()

Lo mismo ocurre con ''xelatex'' no está instalado. Agregue al archivo nbconvert / exporters / pdf.py en la línea 94

cmd = which(command_list[0]+''.exe'')


Para convertir .ipynb a pdf, su sistema debe contener 2 componentes,

  1. nbconvert : es parte de jupyter permite convertir ipynb a pdf

    pip install nbconvert OR conda install nbconvert

  2. XeTeX: Convierte ipynb a formato .tex y luego convierte a pdf.

    sudo apt-get install texlive-xetex

Luego puede usar el siguiente comando para convertir a pdf,

ipython nbconvert --to latex YOURNOTEBOOK.ipynb

En caso de que no funcione, instale pandoc e intente nuevamente.

sudo apt-get install pandoc


Para convertir cualquier computadora portátil Jupyter a PDF, siga las instrucciones a continuación:

( Estar dentro del cuaderno Jupyter ):

En Mac OS :

comando + P -> obtendrá un cuadro de diálogo de impresión -> cambie el destino como PDF -> Haga clic en imprimir

En Windows :

Ctrl + P -> obtendrá un cuadro de diálogo de impresión -> cambie el destino como PDF -> Haga clic en imprimir

Si los pasos anteriores no generan el PDF completo del cuaderno Jupyter (probablemente porque Chrome, algunas veces, no imprime todas las salidas porque Jupyter hace un desplazamiento para grandes salidas),

Intente realizar los pasos a continuación para eliminar el desplazamiento automático en el menú : -

Créditos: @ ÂngeloPolotto

  1. En su cuaderno Jupyter, haga clic en Celda en la parte superior del cuaderno jupyter

  2. Luego haga clic en Todos los resultados -> Alternar desplazamiento para eliminar el desplazamiento automático.


Para convertir portátiles a PDF, primero debe tener instalado nbconvert.

pip install nbconvert # OR conda install nbconvert

A continuación, si no está utilizando Anaconda o aún no lo ha hecho, debe instalar pandoc siguiendo las instrucciones en su sitio web o, en Linux, de la siguiente manera:

sudo apt-get install pandoc

Después de eso, debe tener XeTex instalado en su máquina:

Ahora puede navegar a la carpeta que contiene su IPython Notebook y ejecutar el siguiente comando:

jupyter nbconvert --to pdf MyNotebook.ipynb

Para más información, consulte este enlace .


Para los usuarios de Ubuntu, se puede encontrar una respuesta aquí . También lo cito:

La causa más probable es que no ha instalado las dependencias apropiadas. Su sistema Ubuntu debe tener algunos paquetes instalados con respecto a la conversión de archivos LaTeX y XeTeX, para poder guardar su computadora portátil como PDF. Puedes instalarlos de la siguiente manera:

sudo apt-get install texlive texlive-xetex texlive-generic-extra texlive-generic-recommended pandoc

Además, nbconvert es otra dependencia que generalmente se instala automáticamente con jupyter. Pero puede instalarlo solo para estar seguro, mientras tiene activado su entorno virtual:

pip install -U nbconvert


Para que funcione, instalé latex, latex extra típico y pandoc.

Con ubuntu:

sudo apt-get install texlive texlive-latex-extra pandoc

toma algunas veces: varios 100 Mb para descargar. Leí en alguna parte que puedes usar --no-install-recommends para texlive y extra para reducir a dl.


Si está en una Mac y tiene instalado Homebrew, abra un terminal shell e instale pandoc escribiendo el comando:

brew install pandoc

tenga paciencia, el tiempo de instalación y compilación puede llevar un tiempo en conexiones lentas a Internet o sistemas más antiguos.


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)
Mira la captura de pantalla si quieres.

Captura de pantalla Convertir ipynb a pdf

Si no funciona por alguna razón, puede 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.


Tuve todo tipo de problemas para resolver esto también. No sé si proporcionará exactamente lo que necesita, pero descargué mi computadora portátil como un archivo HTML, luego lo abrí en mi navegador Chrome y luego lo imprimí como un archivo PDF, que guardé. Capturó todo mi código, texto y gráficos. Fue lo suficientemente bueno para lo que necesitaba.