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.
Answer from Daniel Kluev on Stack OverflowPython 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:
- zc.buildout: It can setup closed environments, download/handle dependencies, initialize scripts, etc. It also builds on plugins (or "recipes", as they call them). I used it a few years ago when it was in beta stages, probably it has evolved since then. There is learning curve, as with Maven, but it's also the most powerful.
Other offerings are subsets of Maven/zc.buildout:
- Setuptools: package creation / installation
- Pip: dependency management
- Virtualenv + virtualenvwrapper: Managing separate python environments (something you don't need with Java)
You probably know Ant and shell scripting, so you could check also these Python tools:
- Fabric or Paver: command-line task runners with added flavors. They wrap your traditional command-line execution in python, and allow to manage various tasks in a more powerful way (task dependencies, interpreting output, running commands in remote server, etc.). Basically nothing you couldn't do with shell scripting, but in python, it's much less cryptic.
» pip install python-maven
A Maven-Inspired Package Manager for Python
Building Python nodes as part of Maven multi-module project?
Python dependency management is a dumpster fire
Python has PIP and Node has NPM; What does Java use? Maven/Gradle? They "kind of" have the same effect but with different approaches, right?
What is the equivalent of Java's Maven in the Python?
However, because of the two languages' dissimilar project structures and requirement sets, there isn't a direct counterpart of Maven in Python.
Despite this, Maven can be used for Python development by making use of already-existing plugins or altering the Maven settings.
What is the best Python alternative to Maven?
Nonetheless, the Python community frequently uses the build automation and dependency management tools Pip and Setuptools.
What is the difference between PIP and Maven in Python?
Moreover, Pip is more user-friendly for Python developers than Maven because to its less complex project structure and settings.
» pip install marun
» pip install maven