xticks barplot python deployment dependency-management

python - barplot - pandas plot



Maven equivalente para python (5)

Soy un desarrollador de java / principiante de python, y me faltan las características de maven, particularmente la administración de dependencias y la automatización de compilación (me refiero a que no compila, ¿pero cómo crear un paquete para la implementación?)

¿Hay un equivalente de Python para lograr estas características?
Nota: uso python 2.x

Gracias.


Es bueno usar virtualenv para crear un entorno de proyecto independiente y usar pip / easy_install para las dependencias de gestión.


Me gustaría señalar PyBuilder que está fuertemente inspirado por maven, pero usa python en lugar de XML para la configuración, por lo que es realmente legible, en mi humilde opinión.

Hay un complemento para la administración de dependencias (utiliza pip debajo del capó y diferencia entre las dependencias de compilación y de tiempo de ejecución) y, a diferencia de maven, puede ejecutar el ciclo de vida de compilación completo con un solo comando.


No hay una coincidencia directa. Sin embargo, lo más cercano que puede obtener:

  • zc.buildout : Puede configurar entornos cerrados, descargar / gestionar dependencias, inicializar scripts, etc. También se basa en complementos (o "recetas", como los llaman). Lo usé hace unos años cuando estaba en etapas beta, probablemente ha evolucionado desde entonces. Hay una curva de aprendizaje, como con Maven, pero también es la más poderosa.

Otras ofertas son subconjuntos de Maven / zc.buildout:

Probablemente conozcas Ant y shell scripting, por lo que también puedes consultar estas herramientas de Python:

  • Fabric o Paver : corredores de tareas de línea de comandos con sabores añadidos. Envuelven la ejecución tradicional de la línea de comandos en python y permiten administrar varias tareas de una manera más poderosa (dependencias de tareas, interpretación de salida, ejecución de comandos en un servidor remoto, etc.). Básicamente, no se puede hacer nada con scripts de shell, pero en python, es mucho menos críptico.

Para el despliegue, además de distutils / setuptoos, también eche un vistazo al paquete pip (usa setuptools debajo). Puede deshacer instalaciones fallidas y también desinstalar (algo que falta en easy_install / setuptools). Además, puede especificar dependencias a través de un archivo de texto de requisitos.


Python usa distutils y setuptools para dependencia y empaque.

Aquí hay un tutorial que explica los conceptos básicos: http://docs.activestate.com/activepython/3.2/diveintopython3/html/packaging.html

En resumen, tendrá el archivo setup.py, que tiene información de compilación / instalación de la secuencia de comandos y la dependencia, y puede construir huevos, tarballs, tarballs binarios, etc. con él.