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.

1 Answer 1


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.

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