Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been using Python for a while now, both in the context of personal and professional projects.

One thing that occured to me recently is that I had never thought about a good way to deploy Python programs. Basically, since it's mostly a bunch of scripts, I usually just copy them to the machine where I want it deployed and voila !

But I believe there should be some good practices as to how you should deploy Python projects. I've heard about Python Eggs but not familiar enough with it to see if it's a good choice. Or a plain old tarball with a bunch of Shell scripts to run the core module scripts?

Basically I'd like to be able to do a nice, elegant and self-contained deployment, and not just copying files here and there, as it doesn't allow version tracking easily and it's quite messy.

share|improve this question

Have a look at the Python package tutorial. There are several ways described there: distutils and easyinstall are the main ones. Note that some nix distributions will package things in their own format (.deb, rpm, etc) so you may look at those as well.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.