Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8078685
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 5, 20262026-06-05T15:52:30+00:00 2026-06-05T15:52:30+00:00

I am diving into the world of packaging Python applications and managed to get

  • 0

I am diving into the world of packaging Python applications and managed to get into this state of confusion where my head starts to spin due to all the concepts and options I am supposed to deal with.

Question:

What do I need to accomplish? Deploy my Python project from source located on a git server. The deployment tool should get and install all the dependencies, most of which are available via PIP and one needs to be fetched and installed via Git. The final result should be installable via Pip, so I can do something as:

[~] git clone git://some/path/project.git
[~] pip install project/

Context:
Currently I am trying to get Distutils2 to do what I want, but it seems that setup.py made using ‘generate-setup’ command doesn’t play along with Pip.

I wanted to use Distutils2 since it is supposed to be most future proof of all. But various documentation on all the tools is just horrible (accurate info mixed with outdated and inaccurate information) in a way that makes a guy question his sanity.

So what should I do? Stick to distutils and setup.py? Or do I need to take a look at something the likes of Buildout?

Could the kind answerer please lay out what I am supposed to do with particular tool (e.g.: deploy your code using Distutils2, install dependencies using PIP, for git dependencies write a script and glue everything together doing XYZ).

Edit: I am using Distutils2 1.0a4, which seems incompatible with the docs.

Edit2: Reformatted the question to make it clearer what my question is really about.

Edit3: This is my fourth attempt at breaking the packaging and distribution toolchain of Python. I am not trying to get other people to do my work for me, however for a rookie it is pretty much impossible to crack what a particular tool is supposed to do, where it starts and where another ends. Especially because of the functional overlap between the tools. I am not located in Silicon Valley encircled by sages who could initiate me into the secrets and the publicly available documentation is of no use.

Final Edit:
Although I wasn’t really thinking about replacing virtualenv with Buildout when starting this question. But while doing my research I realized something I always knew, but just didn’t come to me in total clarity. There are many ways about Python packaging and deployment automation. There are also many tools which can help you get the stuff done. However while there is significant functional overlap between the tools, the toolchain is ever evolving and thus far there is no clear “standard best practice”. The distribution toolchain arms race is still in full heat and no clear victor has emerged yet. This may be confusing to us noobs, who expect that most of shit in Python just works. What I was after (distutils/setuptools + pip + virtualenv in a Buildout fashion or even semi integrated with Buildout) certainly is dooable, but it just doesn’t make much sense, not because its not possible – but because nobody does it. If you need this level of sophistication, then you need to commit. Personally I have decided to leave virtualenv behind (for this project) and embrace Buildout.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-05T15:52:31+00:00Added an answer on June 5, 2026 at 3:52 pm

    Take a look at buildout; together with a buildout plugin called mr.developer you can put together a deployment system that’ll do all that you ask for.

    There are plenty of examples and presentations on buildout configurations on the web, here are a few to get you started:

    • An introductionairy presentation on buildout: http://www.slideshare.net/djay/buildout-how-to-maintain-big-app-stacks-without-losing-your-mind

      Includes a YouTube video of the presentation, so you can listen along.

    • Excellent blog post on how to use buildout to develop a Django application.

      Includes details on how buildout and setup.py interplay.

    • The configuration for planet.plone.org: https://github.com/plone/planet.plone.org/blob/master/buildout.cfg

      This builds a venus RSS aggregator with configuration, style, apache config and cronjobs, pulling in eggs as needed.

    • The Plone core development buildout: https://github.com/plone/buildout.coredev

      Complex buildout that pulls in all the sources needed to develop the Plone CMS; this is a complex beast but it shows off what you can do with mr.developer.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

http://pypi.python.org/pypi/simplejson I am just diving into the Python world and want to make a
I'm diving into the world of prolog headfirst but I seem to have hit
I just started diving into the world of Rails by reading the well known
I just recently started diving into Real World Haskell and the book provides some
I'm just diving into the exciting world of facebook app creation, but have already
I am diving into the world of unit testing. And i am sort of
I'm diving into the world of web development after ten years of desktop application
I've just started diving in to the crazy world that is perl and have
when diving into learn cocos2d game development with ios5, in ch08 in EnemyCache.m -(id)
I am diving into OAuth 2.0 to protect my RESTful services. I own the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.