Me gustaría poder informar advertencias y errores al evaluar un bloque de código Python en un archivo Org.
Cuando un bloque de código tiene errores de sintaxis de Python, Org los muestra en un búfer separado llamado *Org-Babel Error Output*
. Sería bueno poder enviar mis propias advertencias allí también, al tiempo que conserva la capacidad de devolver un resultado de matriz al modo Org como una tabla usando :results value
.
Para ser claros, aquí hay un ejemplo ficticio del tipo de cosas que pensé que podrían funcionar:
#+BEGIN_SRC python
import sys
sys.stderr.write('Warning.\n')
sys.stderr.flush()
return [['Table', 'header'], ['table', 'data']]
#+END_SRC
#+RESULTS:
| Table | header |
| table | data |
Editado para agregar: esta discusión en la lista del modo de organización sugiere que la salida de error solo se muestra cuando falla la evaluación del bloque de código. Entonces parece que esto es posible, pero solo abortando la evaluación usando exit(1)
o similar.
Respuestas:
Según lo descrito por Eric Schulte en la
org-mode
lista de correo (vea el enlace en la pregunta), podemos modificarorg-babel-eval
para lograr esto:Ahora, si
org-babel-eval-verbose
está configurado ent
, la salida impresa en stderr durante la evaluación de un bloque de código fuente se muestra en una ventana separada, como si la evaluación del código fuente fallara.fuente