tablas - Flujo de trabajo de IPython(editar, ejecutar)
pandas python tutorial español pdf (13)
¿Hay una GUI para IPython que me permita abrir / ejecutar / editar archivos de Python? Mi forma de trabajar en IDLE es tener dos ventanas abiertas: el shell y un archivo .py. Edito el archivo .py, lo ejecuto e interactúo con los resultados en el shell.
¿Es posible usar IPython de esta manera? ¿O hay una forma alternativa de trabajar?
Cuando estoy trabajando con Python, generalmente tengo dos ventanas de terminal abiertas, una con IPython y la otra con un Vim bastante personalizado.
Dos buenos recursos:
- http://blog.dispatched.ch/2009/05/24/vim-as-python-ide/
- http://dancingpenguinsoflight.com/2009/02/python-and-vim-make-your-own-ide/
Aunque parece que lo que quieres es la función mágica de IPython %ed
/ %edit
:
Un ejemplo de lo que puedes hacer:
In [72]: %ed
IPython will make a temporary file named: c:/docume~1/wjwe312/locals~1/temp/ipython_edit_ar8veu.py
En el archivo que puse:
x = "Hello World"
print 3
Después de guardar y salir del archivo:
Editing... done. Executing edited code...
3
Out[72]: "x = ''Hello world''/nprint 3/n"
In [73]: x
Out[73]: ''Hello world''
Puede definir funciones o cualquier otra cosa, solo recuerde que el contenido del archivo se ejecutará cuando lo cierre.
Otro flujo de trabajo similar es cd
al directorio que contiene el script de Python que está editando con su editor favorito. Entonces puede %run
el script desde dentro de IPython y tendrá acceso a todo lo definido en el archivo. Por ejemplo, si tiene lo siguiente en el archivo test.py
en su directorio /home/myself
:
class Tester(object):
def __init__(self):
print "hi"
def knightme(name):
print "Hello, Sir ", name
Entonces puedes hacer lo siguiente:
In [42]: cd /home/myself
/home/myself
In [43]: %run test.py # <Tab> autocomplete also works
In [44]: knightme(''John'')
Hello, Sir John
In [45]: t = Tester()
Hi
Ya sea una mezcla o uno de esos flujos de trabajo debería darle algo muy similar a la forma en que está acostumbrado a trabajar en IDLE.
Eche un vistazo a DreamPie . Puede ser lo que estás buscando.
La última versión de IdleX admite IPython dentro de IDLE, así como la magia de% edit. Puede ejecutar sus archivos desde el editor IDLE dentro del shell de IPython de muchas maneras, ya sea por F5 (ejecute todo), F9 (ejecute una selección) o Ctrl + Enter (ejecute un subcódigo).
Personalmente, me gusta PyScripter . Desafortunadamente, solo funciona en Windows, pero también funciona perfectamente en Wine.
Personalmente, uso lo que sugirió @Wayne, una combinación de vim e ipython ...
Sin embargo, si prefiere un enfoque diferente, eche un vistazo a Spyder .
A partir de la última versión (1.1), ipython debería estar completamente integrado. Si descargas una versión anterior, las cosas funcionarán bien con ipython como un shell externo, pero no obtendrás algunas de las ingeniosas funciones de spyder (como ver todas las variables definidas actualmente en la ventana del área de trabajo).
Spyder es definitivamente un poco pesado, pero es un proyecto interesante.
Otro (muy, muy, nuevo) proyecto similar para echar un vistazo es iep . Trabajará con ipython como shell y estoy dispuesto a apostar a que la integración de ipython será más agradable antes de que pase demasiado tiempo. En cualquier caso, iep es esencialmente una alternativa más ligera al spyder.
Ambos están orientados a la informática científica, por lo que tienen una buena integración con cosas como matplotlib (y por lo tanto pueden ejecutar automáticamente los bucles principales de GUI en un hilo separado). No son como los IDE "normales", pero pueden llenar el nicho que estás buscando bastante bien.
Prueba Ptpython
. Tiene una mejor integración con VIM
. Puede editar directamente en VIM simplemente presionando V
También permite navegar por su historial ... por lo que puede codificar prácticamente en el shell y aumentar progresivamente su código.
Si ya está familiarizado con ipython
, puede consultar las ventajas de ptpython
aquí:
Prueba Spyder, he pasado todo el día tratando de encontrar un IDE que tenga la funcionalidad de ipython y Spyder simplemente lo saca del parque.
Autocompletar es de primera categoría desde la instalación, sin archivos de configuración y toda esa porquería, y tiene un terminal Ipython en la esquina para que pueda ejecutar su código al instante.
grandes pulgares arriba
Puede que le guste PySlices ...
Es una especie de híbrido shell / editor que le permite guardar su sesión como archivos especiales (apenas) modificados llamados archivos .pyslice.
Ahora es parte de wxPython , así que simplemente instale eso (v2.8.11 o posterior) y ejecute "python -m wx.py.PySlices" en la línea de comando para iniciarlo.
Dicho esto, sigo usando un editor externo para scripts (geany).
Puede usar el módulo de autorrecarga en IPython para recargar código automáticamente.
Abra la jupyter qtconsole
o jupyter console
y escriba:
%load_ext autoreload
%autoreload 2
from your_work_file import *
Ahora, cada vez que guardes your_work_file.py
, se volverá a cargar automáticamente.
Sugerencia: si desea que esto suceda de forma automática, coloque las siguientes ipython_config.py
en su archivo ipython_config.py
:
c.InteractiveShellApp.extensions = [''autoreload'']
c.InteractiveShellApp.exec_lines = [''%autoreload 2'']
Quiero sugerir un excelente complemento para vim que hace una integración bidireccional entre Vim e IPython: vim-ipython.
Desde la página del proyecto en http://github.com/ivanov/vim-ipython :
Usando este complemento, puede enviar líneas o archivos completos para que ejecute IPython, y también recuperar introspección y finalización de palabras en Vim, como lo que obtiene con: object? y objeto en IPython.
Este complemento tiene una gran limitación: no es compatible con Python 3 (está planificado).
Si le gusta el flujo de trabajo bajo Matlab
, entonces probablemente debería probar los siguientes dos:
1 , prueba la combinación de Spyder
y Vim
.
Editar archivos de Python en
Vim
(Spyder
puede recargar el archivo automáticamente)Ejecuta el código en
Spyder
(en el mismo intérprete, que es importante para mí):Usa
F9
para ejecutar el archivo actualCtrl+F9
para ejecutar el bloque seleccionado
2 , use Vim
+ conque-shell
. ( en el código de google )
Abra su
Python interpreter
preferido enVim
,por ejemplo, simplemente
:ConqueTermSplit python
.luego visual seleccionar algún código de
Python
presione
F9
para pegar y ejecutarlo en elPython interpreter buffer
.
Nota: algunos más:
-
:ConqueTermVSplit python
, -
:ConqueTerm python
:ConqueTermVSplit rlwrap python
Si su intérprete no
rlwrap
readline
, puede usarrlwrap
.
Spyder , anteriormente conocido como SPyderlib / Spyder2
Bastante liviano, rápido y compatible con casi todas las features que necesitará para trabajar con un proyecto de Python. Puede editar y ejecutar archivos .py en una instancia incrustada de IPython y luego interactuar con ellos, establecer puntos de interrupción, etc.
sudo apt-get install ipython
Una vez que haya terminado con la instalación de ipython.
Inicie ipython desde la terminal (solo ipython
en el terminal)
Para ejecutar el archivo ravi.py
todo lo que necesita hacer es
%run ravi.py