¿Cómo abrir el intérprete de IPython en emacs?
(6)
UPD Instrucciones detalladas para principiantes:
Copia esto:
(defun ipython () (interactive) (term "/usr/bin/ipython"))
Intenta primero lanzar Emacs como
emacs -q
desde la terminal.-q
significa no cargar ningún código personalizado. Significa que en este modo tus emacs se comportarán exactamente igual que los míos.- Ahora debería estar en la pantalla de bienvenida. Presione q .
- Ahora debería estar en el búfer
*scratch*
. Presione Cy para pegar el código que copió desde el navegador. - Coloque el cursor al final del código, justo después del último paréntesis.
- Presiona Cj para evaluar el código. El nombre
ipython
aparece. - Ahora puede ejecutar este comando como cualquier otro, por ejemplo, Mx ipython .
- Si desea que este cambio se convierta en permanente, agregue el código a su
~/.emacs
.
Para utilizar IPython durante el desarrollo de Python en Emacs, he estado abriendo una terminal y escribiendo ipython
. Esto no parece ser la forma correcta de hacerlo.
Por un lado, mi búfer enumera este búfer como *ansi-term*
, lo cual es confuso, ya que a menudo termino con múltiples terminales, uno de los cuales está dedicado a Python. También veo que puedo abrir un intérprete de python directamente con Mx python-shell
. Parece que debería haber una opción similar para IPython.
¿Hay una mejor manera de usar el intérprete de IPython en Emacs?
Estoy usando Emacs 24 con Prelude.
Edición: Vaya, el siguiente proyecto es una bifurcación, no el proyecto oficial de Prelude. El segundo párrafo aquí sigue en pie. O puedes probar el tenedor.
Parece que Prelude ya configura la integración de ipython . Tal vez su copia está desactualizada?
Si Mx run-python
no inicia ipython, intente agregar (setq python-shell-interpreter "ipython")
a su archivo de inicio (o solo evaluarlo) y vuelva a Mx run-python
. Después de una prueba rápida sin Prelude que parece ser todo lo que es necesario.
He intentado el enfoque de abo-abo para ejecutar ipython dentro de emacs. Es una forma bastante simple de atajar las funciones de shell dentro de emacs. Sin embargo, sí pierde la funcionalidad de emacs cuando está en el shell (por ejemplo, no puede Mx o
fuera del shell)
En cambio, personalmente creo que usar el comando shell incorporado de Emacs ( Mx shell
) es mucho mejor. Puede ejecutar ipython dentro del shell integrado de Emacs y aún tener todas las funciones de Emacs que todos conocemos y amamos.
No sé qué es Prelude, pero si puede instalar el último Emacs (es decir, Emacs con el modo Python de Fabian incluido), puede usar lo siguiente para que el modo Python sepa cuál es su elección preferida de intérprete. Entonces solo necesitas llamar a Mx run-python
:
-
(when (executable-find "ipython")
(setq python-shell-interpreter "ipython"))
-
Parece que un poco tarde, sin embargo, también tenía un problema similar, quería tener ipython como intérprete de python predeterminado para mi emacs 24.x. Lo siguiente funcionó como una magia.
(require ''python)
(setq python-shell-interpreter "ipython")
(setq python-shell-interpreter-args "--pylab")
gracias a http://www.flannaghan.com/2013/08/29/ipython-emacs por salvar mi día y espero que sea el tuyo.
PS: parece que tener anaconda preinstalado en tu sistema ayuda ...
Puedes usar mi extensión de Emacs llamada emacs-ipython para esto.
github.com/burakbayramli/emacs-ipython
En un búfer LaTeX (puede cambiarlo para que sea cualquier búfer) entre bloques de código con una pulsación de tecla, envía el código de python al kernel de ipython y muestra los resultados en un bloque literal debajo.