Pregunta

Yo solía ser un desarrollador de Java y utilizamos herramientas como hormiga o experto para administrar nuestros entornos de desarrollo / pruebas / UAT de una manera estandarizada. Esto nos permitió manejar las dependencias de bibliotecas, la definición de variables OS, compilar, implementar, ejecutar pruebas unitarias, y todas las tareas requeridas. Además, los scripts generados garantizado que todos los ambientes se han configurado casi por igual, y toda la tarea se llevaron a cabo de la misma manera por todos los miembros del equipo.

Estoy empezando a trabajar en Python ahora y me gustaría su consejo en el que las herramientas que deben utilizar para llevar a cabo el mismo que el descrito para Java.

¿Fue útil?

Solución

  1. virtualenv para crear un entorno virtual contenida (evitar que diferentes versiones de Python o Python paquetes de pisotear el uno al otro). Existe una creciente zumbido de personas que se desplazan a esta herramienta. El autor es el mismo que el mencionado working-env.py mayores de Aaron.

  2. pip para instalar los paquetes dentro de un virtualenv. El tradicional es easy_install como contestada por S. Lott, pero PIP funciona mejor con virtualenv. easy_install todavía tiene características que no se encuentran en el PIP sin embargo.

  3. scons como una herramienta de construcción, aunque no necesitará esto si se quedan puramente Python .

  4. pasta Tela , o pavimentadora para la implementación.

  5. buildbot para la integración continua.

  6. Bazar, mercurial, o git para el control de versión.

  7. Nose como una extensión de la unidad de pruebas.

  8. PyFit para pruebas FIT.

Otros consejos

También trabajo con Java y Python. Para el desarrollo del pitón experto equivalente es setuptools ( http://peak.telecommunity.com/DevCenter/setuptools). Para el desarrollo de aplicaciones web utilizo esto en combinación con parche ( http://pythonpaste.org/ ) para el proceso de implementación

easy_install ?

Para nuestros servidores Linux, usamos easy_install y muy rico.

Para nuestros ordenadores portátiles de desarrollo de Windows, utilizamos easy_install y algunos de MSI para algunos proyectos.

La mayoría de las bibliotecas de Python que utilizamos son sólo fuente, por lo que puede utilizar la misma distribución en todas las cajas. Si pudiéramos tener un dispositivo de red compartida, nos gustaría poner a todos allí. Por desgracia, nuestra infraestructura es una especie de disperso, así que tenemos que mover archivos ya sea en torno .TAR o rehacer las instalaciones para reconstruir los ambientes.

En unos pocos casos (por ejemplo, PIL), tenemos que recompilar y comprobar los números de versión.

easy_setup para obtener los huevos (aproximadamente lo que Maven llama un artefacto).

Para configurar el entorno, echar un vistazo a working-env.py

Python no se compila pero se puede poner todos los archivos de un proyecto en un huevo. Esto se hace con setuptools

Para CI, compruebe esta respuesta .

Sería una negligencia por no mencionar también pavimentadora , que fue creada por Kevin Dangoor de TurboGears fama. El proyecto está todavía en alfa, pero parece muy prometedor. Un fragmento de la página del proyecto:

  

pavimentadora es una herramienta de scripting acumulación / distribución / implementación basada en Python lo largo de las líneas de maquillaje o un rastrillo. Lo que hace única pavimentadora es su integración con las bibliotecas de Python utilizados comúnmente. Las tareas comunes que eran fáciles de antes siguen siendo fácil. Más importante aún, se trata de sus aplicaciones necesidades y requerimientos específicos es ahora mucho más fácil.

hago exactamente esto con una combinación de setuptools y Hudson. Sé Hudson es una aplicación de java, pero puede ejecutar Python cosas muy bien.

Es posible que desee revisar nuestra Devenv . Se le permite estandarizar los entornos de compilación para el desarrollo, control de calidad y UAT. Es gratis, como en "cerveza gratis".

HTH

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top