2009-08-19 15 views
10

Esto puede sonar extraño, pero necesito una forma mejor de crear scripts de Python que abrir un archivo con nano/vi, cambiar algo, salir del editor y escribir python script.py, una y otra vez.Python IDE en consola Linux

Necesito construir la secuencia de comandos en un servidor web sin ninguna interfaz gráfica de usuario. ¿Alguna idea de cómo puedo mejorar mi flujo de trabajo?

Respuesta

20

poner esta línea en su archivo .vimrc:

:map <F2> :w\|!python %<CR> 

ahora golpear <F2> va a guardar y ejecutar la secuencia de comandos de Python

+3

genial, gracias! es como F8 Build;) –

+0

muy útil, ¡gracias! – timepilot

+0

Este truco es genial, ¡gracias! – zaxliu

9

Debe darle un vistazo a la utilidad screen. Si bien no es un IDE, es una especie de administrador de ventanas en el terminal, es decir, puede tener varias ventanas y cambiar entre ellas, lo que facilita especialmente tareas como esta.

+1

Me gusta tmux better than screen. – Yktula

+0

Hay un [complemento impresionante para Vim y R] (http://www.vim.org/scripts/script.php?script_id=2628) que usa la pantalla automáticamente. Sería genial si alguien lo portara a Python. Todavía no he estudiado t – naught101

+0

Byobu en sistemas basados ​​en Debian también oscila. – rbanffy

1

Puede ejecutar XVNC en ssh, que en realidad es pasivamente sensible para hacer este tipo de cosas y le ofrece una GUI de ventanas. He hecho esto con bastante efectividad sobre los servicios DSL Jetstart realmente asmáticos en Nueva Zelanda (128 KB arriba/128 K abajo = 8^P) y es ciertamente lo suficientemente sensible para gvim y xterm windows. Otra opción sería screen, que le permite tener múltiples sesiones de texto abiertas y cambiar entre ellas.

5

uso de Emacs con Python modo que puede ejecutar el script con Cc Cc

2

Al trabajar con Vim en la consola, he descubierto que usar "pestañas" en Vim, en lugar de tener varias instancias de Vim suspendidas en segundo plano, hace que el manejo de varios archivos en Vim sea más eficiente. Lleva un tiempo acostumbrarse, pero funciona muy bien.

0

Bueno, aparte de usar uno de los editores de consola más capaces (se me ocurren Emacs o vi), ¿por qué tienes que editarlo en el servidor web? Simplemente edítelo remotamente si la transferencia constante de FTP/WebDAV parece engorrosa.

Emacs tiene Tramp Mode, gedit en Linux y bbedit en la edición remota de soporte de Mac, también. Probablemente un número bastante grande de otros editores. En ese caso, simplemente edita en un escritorio más capaz y reinicia el script desde una ventana de shell.

4

puedes probar ipython. utilizando su comando de edición, mostrará su editor (nano/vim/etc), usted escribirá su secuencia de comandos y luego, al salir, se le regresará al indicador de ipython y la secuencia de comandos se ejecutará automáticamente.

1

En realidad hay 2 preguntas. Primero es un sondeo para una consola IDE para python y el segundo es un mejor flujo de trabajo de desarrollo/prueba/implementación.

Porque si bien hay muchas formas de escribir el código python en la consola, creo que una combinación de pantalla, vim y python/ipython es la mejor, ya que suelen estar disponibles en la mayoría de los servidores. Si está realizando sesiones largas, encuentro que emacs + python-mode generalmente implica menos tipeo.

Para un mejor flujo de trabajo, sugiero configurar un entorno de desarrollo. Puede configurar fácilmente una máquina virtual Linux en su computadora de escritorio o portátil con facilidad en estos días; no hay excusa para no hacerlo, incluso si se trata de proyectos de pasatiempos.Esto abre una selección mucho más amplia de entornos de desarrollo disponibles para usted, tales como:

yo también configurar un SMC para realizar un seguimiento de los cambios de manera que lo hace mejor control de calidad y utilícelo para implementar cambios probados en el servidor.

Por ejemplo, uso Mercurial para mis proyectos favoritos y simplemente etiqueto mi repositorio cuando está listo y actualizo el servidor de producción a la etiqueta cuando lo despliego. Por devbox, que hago:

  • (truco truco truco, prueba prueba prueba)
  • hg ci -m 'comentario'
  • hg tag
  • hg empuje

Entonces saltar al servidor y hacer lo siguiente cuando implemente:

  • hg update
  • reiniciar servicio/servidor web según sea necesario