vistas vars usar postgres datos como belongs eclipse ide web2py

eclipse - usar - web2py url vars



Una buena configuraciĆ³n de entorno de desarrollo para Web2Py (7)

¿Has considerado usar menos herramientas? Tanto Python como web2py no requieren una gran cantidad de código para lograr mucho. web2py solo agrega 10 o 15 nuevas llamadas a funciones (además de los ayudantes y validadores de HTML). Es posible que Eclipse y otros IDE se interpongan en el camino. Configurar nuevas aplicaciones en web2py es simple a través del sistema de administración. Dado que el nuevo andamio de la aplicación copia la aplicación de bienvenida, puede personalizar la configuración de la nueva aplicación editando la aplicación de bienvenida. Con Mercurial (o Git, Subversion o Bazaar) puede configurar un servidor en su máquina o con uno de los sitios públicos y enviar actualizaciones a su servidor de producción. Mantenlo simple, digo.

He estado probando Web2Py por un par de días y decidí que sería un guardián. Pero hay una cosa que me preocupa mucho y que podría ser un showstopper al final. Necesito un buen entorno de desarrollo y configuración en los que pueda confiar y ser productivo. Proveniente del mundo de MS Visual Studio, estoy buscando algo con buenas funciones de autocompletar / intellisense + para el control de versiones y la implementación.

Hice algunos intentos de editar mi código en Eclipse pero necesita una configuración adicional para ejecutarse con autocompletado, y para la depuración no sé si es posible. (Noté que había una plantilla de proyecto Django en Eclipse que es un poco tentador, debo decir).

Wing Ide tiene una instrucción sobre cómo hacer que web2py esté funcionando y estoy listo para probar eso. No es gratis, pero es muy barato en comparación con mucho en el mundo de Windows.

También quiero una buena configuración de versiones (hg), y preferiblemente un método de despliegue de FTP semiautomático.

¿Qué IDE utilizan los desarrolladores de Web2Py y cómo se ve tu configuración?

¡Un script de configuración completo para un proyecto en un buen IDE sería increíble! (Al igual que la instalación, un clic para que funcione al 100%).

Pycharm se ve bien, tal vez se puede agregar soporte web2py http://youtrack.jetbrains.net/issue/PY-1648

¡Muchas gracias!


Advertencias: trabajo en OS X y hago la mayor parte de mi codificación en BBEdit.

Dicho esto, he usado Wing y Komodo IDE para la depuración de web2py, y ambos han funcionado bastante bien para mí. No he probado NetBeans en un tiempo ahora; cuando hice el soporte Python parecía un poco áspero alrededor de los bordes. Y nunca he tenido el tiempo o la paciencia para llegar a la velocidad con Eclipse; está archivado en mi archivero mental con Emacs, sin duda injustamente ante Eclipse y / o Emacs.

(Y repetiré la recomendación de mdipierro de probar la lista de correo web2py; es realmente indispensable: uno de los puntos más importantes de web2py).


Estamos usando el framework web2py para todas nuestras necesidades de aplicaciones web y esta es nuestra configuración:

OS - Ubuntu actualizado
IDE - Aptana Studio 3.0 con pyDev
Control de versiones - git
Python 2.7 Browser para la fase de desarrollo: Chrome


Estoy bastante seguro de que el ''script de configuración de un solo clic'' para hacer todo lo que está buscando no existe (en este momento). Pero no se desanime: puede lograr un entorno de desarrollo agradable que se adapte a sus necesidades y hay muchas opciones.

Aunque me desarrollo en Windows, me gusta la configuración que tengo, ya que es más una forma de pensar ''Unixy'' con la que tengo varias herramientas que realizan una tarea específica. Una vez que obtiene una configuración de flujo de trabajo, puede ser muy productivo, aunque me doy cuenta de que puede parecer un poco confuso al principio provenir de un mundo de Visual Studio.

A continuación esbozo lo que he decidido. Estoy seguro de que otros tendrán sus propias recomendaciones. Elige las opciones que más te gusten.

(Debería haber hipervínculos a software útil a continuación, pero no tengo suficiente reputación para incluir más de 1 enlace ...)

Para el desarrollo en Windows estoy disfrutando con Pyscripter. Es gratis, rápido (en comparación con Aptana / Eclipse / Netbeans, etc.) y tiene algunas características interesantes (tema oscuro, consola de python integrada y explorador de código, por nombrar algunas).

Para que el completado / intellisense de código funcione para web2py, debe agregar algo de código a sus archivos de modelo / controlador debido a la forma en que funciona web2py. Hay algunas instrucciones en este tema de discusión en el grupo web2py.

web2py tiene un gran sistema de tickets de error incorporado (consulte el capítulo 3 del libro web2py). Para una depuración más completa, pydb parece ser el camino a seguir. Simplemente ponga el código a continuación como punto de interrupción:

import pydb pydb.debugger()

y te llevará al depurador.

Uso TortoiseHg para la integración de Mercurial y funciona de maravilla. Combina eso con winscp y podrás desplegar fácilmente.


He encontrado que el depurador Wing IDE es muy útil. Es un potente depurador general y también se puede configurar para realizar la depuración remota, lo que es realmente importante cuando se ejecuta web2py en una máquina remota sin GUI (por ejemplo, en Amazon Web Services).


Prueba la nueva interfaz de administración web2py en el tronco. Tiene una interfaz comercial basada en la web y una interfaz de implementación de Google.

En web2py puedes editar aplicaciones / admin / models / 0.py y configurar

TEXT_EDITOR = ''amy''

Y obtendrás el editor de Amy basado en web con autocompletado. No es el predeterminado porque no funciona con algunos navegadores y porque el autocompletado no es tan bueno como el eclipse. Puede funcionar para usted.

Puede utilizar web2py con Eclipse, pero necesita una solución menor para que Eclipse sepa sobre el entorno web2py. Se explica aquí .

Sé que otros usuarios han usado otros IDE con web2py, por ejemplo, WinIDE y pyCharm. Le sugiero que pregunte en la lista de correo web2py donde las personas son muy útiles.


Guiones

Una vez que creo un nuevo proyecto en web2py, agrego algunos scripts a mi carpeta principal de aplicaciones:

web2py / applications / myapp / DebugWinpdb.bat :

C:/Python25/Scripts/winpdb.bat ../../web2py.py -i 127.0.0.1 -p8000 -mypassword

web2py / applications / myapp / DebugShell.bat :

C:/Python25/Scripts/winpdb.bat ../../web2py.py -S myapp -M

web2py / applications / myapp / Shell.bat :

python ../../web2py.py -S myapp -M

IDE

Como han dicho otros, debe hacer algunas cosas adicionales para obtener autocompletar / intellisense para web2py sin importar qué IDE utilice.

Para mí, NetBeans fue un buen compromiso entre hacer todo lo que sea posible (Eclipse / PyDev) y hacer lo básico, pero pocos extras (PyScripter).

Configuración de NetBeans (Propiedades del proyecto) :

  • Categoría Python
    • Python Platform: Python 2.x (el valor predeterminado es Jython)
  • Categoría de ejecución
    • Módulo principal: web2py.py
    • Argumentos de la aplicación: -i 127.0.0.1 -p 8000 -a mypassword

NetBeans Pros :

  • Estrecha integración de Mercurial.
    • Resalta las líneas que se han agregado, cambiado o eliminado en el archivo de origen a medida que lo edita
    • Retroceso selectivo de los cambios individuales que ha realizado desde su último compromiso
    • Uno de los mejores visores visuales de diferencias que he usado
  • Consejos de estilo Python PEP8 (totalmente personalizable)
    • El nombre "foo" no es un nombre de clase válido de acuerdo con su estilo de código (CapitalizedWords)
    • El nombre "Barra" no es un nombre de función válido de acuerdo con su estilo de código (minúscula_con_underscores)
    • Auto-formato de teclas de acceso rápido (corrige el espacio alrededor de los operadores, etc.)
  • Navegación dentro del archivo fuente
    • indexa semánticamente el archivo fuente actual
    • Organiza alfabéticamente por tipo (clase, método, atributo, etc.)
    • hace que incluso las enormes hojas de estilo sean manejables

NetBeans Contras :

  • El depurador integrado no funciona con web2py (eso realmente duele)
  • Largo tiempo de inicio (pero aceptablemente rápido para mí una vez en funcionamiento)

Control de versiones

Yo uso y recomiendo altamente Mercurial para el control de la fuente. Como se mencionó anteriormente, NetBeans tiene un gran soporte para Mercurial, pero hay algunas cosas que preferiría hacer en TortoiseHg.

TortugaHg Pros :

  • Iconos de superposición de shell
  • Explorador de repositorio
    • ver el historial de repos con visualización gráfica de ramificación / fusión
    • una ventanilla única para la herramienta de entrada, salida, empuje, extracción, actualización, etc. con la herramienta Confirmar
  • Herramienta de compromiso
    • Selección de Hunk: Cherry Pick cambia desde dentro de un archivo para compromisos más enfocados
    • Añadir, eliminar, diferencia, revertir, mover, eliminar, olvidar

TortoiseHg Contras :

  • No hay una manera fácil de caer directamente en una línea de comando
  • Error que evita regularmente que se eliminen los archivos durante la confirmación (espera indef para que se libere un bloqueo; ejecutar hg addremove desde la línea de comandos es una solución confiable)

Publicación

Utilizo una combinación de WinSCP (para navegar), PuTTY (para comandos de terminal) y TortoiseHg (para empujar / tirar de mis repos) para trabajar con mi cuenta de hosting compartido en Webfaction.

Lo primero que hago es configurar el cifrado de clave pública / privada. Si tiene problemas para configurar esto entre Windows y Linux, pruebe estas instrucciones de Andre Molnar . La historia corta es que necesita generar su clave privada usando ssh-keygen en Linux, copiarla a su máquina Windows usando WinSCP, luego convertirla para usar con WinSCP y PuTTY.

Luego agregue las siguientes líneas a su archivo mercurial.ini global:

[ui] ssh = "C:/Program Files/TortoiseHg/TortoisePlink.exe" -ssh -2 -i "c:/path/to/your/privatekey.ppk"

Incluso si tiene que conectarse a varios servidores, solo necesita copiar su clave pública a cada uno de los diferentes servidores. También querrá que WinSCP y PuTTY sepan dónde se encuentra su clave privada, pero son bastante fáciles de averiguar.