I'm a java developer/python beginner, and I'm missing my maven features, particularly dependency management and build automation (I mean you don't build, but how to create a package for deployment?)
Is there a python equivalent to achieve these features?
Note: I use python 2.x
Thanks.
For deployment, in addition to distutils/setuptoos, also take a look at the pip package (uses setuptools underneath). It can rollback failed installations and also uninstall (something missing from easy_install/setuptools). In addition, you can specify dependencies through a requirements text file.
I'd like to point out PyBuilder which is heavily inspired by maven but uses python instead of XML for configuration, so it's actually readable, IMHO.
There is a plugin for dependency management (uses pip under the hood and differentiates between build and runtime dependencies) and, not unlike maven, you can run through the full build lifecycle with a single command.
Python uses distutils and setuptools for dependency and packaging.
Heres a tutorial which explains basics: http://docs.activestate.com/activepython/3.2/diveintopython3/html/packaging.html
In short, you will have setup.py file, which has dependency and script compilation/installation information, and you can build eggs, dist tarballs, binary tarballs, etc with it.
There is no direct match. However, the closest you can get:
Other offerings are subsets of Maven/zc.buildout:
You probably know Ant and shell scripting, so you could check also these Python tools:
It's good to use virtualenv to create standalone project environment and use pip/easy_install to management dependencies.