Entonces, 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 hacerlo da como resultado:
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 intento instalar pandoc ( pip install pandoc
), esto me da
ImportError: No module named 'ConfigParser'
y aquí es donde me quedo atascado porque no sé qué más hacer. ¿Alguien tiene idea de cómo arreglar lo que está mal?
pandoc
ylatex
)Respuestas:
Para que funcione, instalé látex, el típico látex extra y pandoc.
Con ubuntu:
Tarda algunas veces: varios 100 Mb para descargar. Leí en alguna parte que puedes usar
--no-install-recommends
para texlive y extra para reducir al dl.fuente
pandoc
ytexlive-xetex
.texlive-generic-extra
resolver este problema , aparte de lotexlive-xetex
que sugirió @douggard.Si está en una Mac y tiene Homebrew instalado, abra una terminal e instale pandoc escribiendo el comando:
brew install pandoc
tenga paciencia, el tiempo de instalación y compilación puede llevar un tiempo con conexiones lentas a Internet o sistemas más antiguos.
fuente
brew install pandoc
ybrew cask install mactex-no-gui
.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 .fuente
Para convertir cuadernos a PDF, primero debe tener nbconvert instalado.
pip install nbconvert # OR conda install nbconvert
A continuación, si no está usando 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:
Después de eso, necesita tener XeTex instalado en su máquina:
Ahora puede navegar a la carpeta que contiene su IPython Notebook y ejecutar el siguiente comando:
Para obtener más información, consulte este enlace .
fuente
Como dicen los comentarios a la pregunta, necesitará pandoc y latex (por ejemplo, TeXShop). Instalé pandoc con Homebrew, solo tomó un segundo. Teniendo pandoc y TeXShop, podría generar latex pero no pdf (en la línea de comando).
Al explorar el archivo latex (.tex) con TeXShop, el error se debió a la falta de hojas de estilo y defs. Después de instalar todos estos (adjustbox.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 un poco extraño para mi gusto. Es una lástima que al imprimir el html desde Safari se pierda el color de sintaxis. De lo contrario, no se ve tan mal. (Todo esto está en OS X).
fuente
jupyter nbconvert --to pdf filename.ipynb
Este script de Python tiene GUI para seleccionar con el explorador un cuaderno 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
pip install nbconvert # OR conda install nbconvert
Secuencia de comandos de Python
# 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()
fuente
nbconvert
para exportar a html y luego utilizarwkhtmltopdf
para convertir a pdf. pero esto no está claro en su respuesta :-)Estoy usando Anaconda-Jupyter Notebook en el sistema operativo: 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 de Jupyter, aún así instálelo una vez más
O
Pero recomendaré usar conda en lugar de pip si está usando anaconda
Instale Pandoc: ya que Nbconvert usa Pandoc para convertir markdown a formatos distintos a HTML. Escriba el siguiente comando
Instalar TeX: para convertir a PDF, nbconvert usa TeX. Escriba el siguiente comando
Después de la ejecución de estos comandos, cierre los cuadernos abiertos, actualice la página de inicio o reinicie el kernel del cuaderno abierto. Ahora intente descargar el cuaderno como pdf :)
Nota: Para obtener más detalles, consulte la documentación oficial:
https://nbconvert.readthedocs.io/en/latest/install.html
fuente
Para convertir cualquier cuaderno Jupyter a PDF, siga las instrucciones a continuación:
( Estar dentro del cuaderno de Jupyter ):
En Mac OS :
comando + P -> obtendrá un cuadro de diálogo de impresión -> cambiar destino como PDF -> Haga clic en imprimir
En Windows :
Ctrl + P -> obtendrá un cuadro de diálogo de impresión -> cambiar destino como PDF -> Haga clic en imprimir
Si los pasos anteriores no generan PDF completo del cuaderno de Jupyter (probablemente porque Chrome, algunas veces, no imprime todas las salidas porque Jupyter hace un desplazamiento para salidas grandes),
Intente realizar los siguientes pasos para eliminar el desplazamiento automático en el menú : -
Créditos: @ ÂngeloPolotto
En su cuaderno de Jupyter, haga clic en Celda en la parte superior del cuaderno de jupyter
A continuación, haga clic en Todos los resultados -> Alternar el desplazamiento para eliminar el desplazamiento automático.
fuente
Este problema se experimentó tanto con Ubuntu como con Mac OSX. Tras una frenética serie de búsquedas y ensayos, ambos se resolvieron. Esto requiere tanto
tex
ypandoc
; Ambos programas externos jumbo no pueden ser instalados por Pythonpip
.Esto debería tardar casi una hora en completarse (en el caso habitual ). Si el problema persiste, es posible que deba instalar la distribución MacTeX. de TeXLive.
Una instalación completa de TeXLive requeriría hasta 4,4 GB en disco.
Para evitar todos estos problemas, la forma recomendada de usar IPython / Jupyter Notebook sería instalar la distribución Anaconda Python.
fuente
También tuve todo tipo de problemas para resolver esto. No sé si proporcionará exactamente lo que necesita, pero descargué mi cuaderno 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.
fuente
Si está utilizando la versión en la nube de Sagemath , simplemente puede ir a la esquina izquierda,
seleccionar Archivo -> Descargar como -> Pdf a través de LaTeX (.pdf)
Verifique la captura de pantalla si lo desea.
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 con el botón derecho -> Imprimir y luego seleccione guardar como pdf.
fuente
Como miembro nuevo, no pude simplemente agregar un comentario en la publicación, pero quiero segundo que la solución ofrecida por Phillip Schwartz funcionó para mí. Con suerte, las personas en una situación similar intentarán ese camino antes con el é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ó funcionar para mí, y el PDF generado tenía el salto de página en las ubicaciones correspondientes. Sin embargo, no es necesario ejecutar el código personalizado, ya que parece que la ruta "normal" de descargar el cuaderno como HTML, abrir en el navegador e imprimir en PDF funciona una vez instaladas esas utilidades.
fuente
notebook-as-pdf Instalar python -m pip install notebook-as-pdf pyppeteer-install
Úselo También puede usarlo con nbconvert:
jupyter-nbconvert: a PDF a través del nombre de archivo HTML.ipynb
que creará un archivo llamado filename.pdf.
o instalar pip notebook-as-pdf
crear pdf desde el cuaderno jupyter-nbconvert-toPDFviaHTML
fuente
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')
fuente
Para convertir .ipynb en pdf, su sistema debe contener 2 componentes,
nbconvert : es parte de jupyter permite convertir ipynb a pdf
XeTeX: convierte ipynb a formato .tex y luego convierte a pdf.
Entonces puede usar el siguiente comando para convertir a pdf,
En caso de que no funcione, instale pandoc y vuelva a intentarlo.
fuente
Para los usuarios de Ubuntu, se puede encontrar una respuesta aquí . También lo cito:
fuente
Tuve problemas para mostrar correctamente algunos símbolos con la descarga regular como pdf . Así que descargué como tex
jupyter nbconvert --to latex "my notebook.ipynb"
, hice algunos ajustes con el bloc de notas (como ejemplo, en mi caso necesitaba estas líneas para mi idioma) y luego exportado a pdf con
latex --output-format=pdf "my notebook.tex"
.Pero al final, sin embargo, para conservar los mismos caracteres que usted ve en un navegador que terminé usando mi impresión del navegador Chrome:
Ctrl+P
Print to pdf
. Agrega encabezado y pie de página innecesarios, pero todo lo demás permanece como está. No más errores al procesar la barra de progreso de tqdm, no más código saliendo de la página y así sucesivamente. Simple como eso.fuente
En cualquier sistema, los pasos básicos para configurar correctamente nbconvert para convertir cuadernos ipython a pdf / latex son
Instalación de nbconvert
pip install nbconvert
o
conda install nbconvert
Instalación de pandoc
sudo apt-get install pandoc
para Ubuntuo
sudo yum install pandoc
para CentOSpara otros visite pandoc-installation
Instalación de texlive
Puede instalar los paquetes recomendados o la instalación completa. Para Ubuntu
'
Para otros y para instalar texlive por completo, siga las instrucciones dadas en tug según su sistema y elección.
Descargué el archivo tar.gz de tug-texlive-download y seguí las instrucciones dadas en TeX Live - Instalación rápida . Instrucciones de instalación en resumen:
Limpiar
rm -rf /usr/local/texlive/2019
rm -rf ~/.texlive2019
Ejecutar el instalador
descomprimir el archivo zip
cd /your/unpacked/directory
perl install-tl
Ingrese el comando: yo
Configuración de camino
sudo vi /etc/bash.bashrc
e insertarPATH=/usr/local/texlive/2019/bin/x86_64-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2019/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH; export INFOPATH
Configuración del tamaño de papel predeterminado
tlmgr paper letter
Los comandos pueden diferir según su sistema, pero los pasos básicos siguen siendo los mismos.
fuente
Tuve este error en Windows 10. Seguí estos tres pasos y resolvió mi problema:
Instalar nbconvert
pip instalar nbconvert
Instalar pandoc
https://pandoc.org/installing.html
https://miktex.org/download
También es bueno actualizar las bibliotecas:
fuente