Python Packaging Woes: part 3

A bit of wrap-up after part 1 and part 2

Current state of the things

I seem to have missed something: there's now a very active Python Packaging Authority which is trying very hard to push Python packaging in the right direction, so that we can have a good set of tools that work properly together. Checkout their repositories and mailing lists.

Setuptools and distribute got merged and we won't experience a split-experience anymore, we'll just have One Tool To Rule Them All!

So, rejoice! Things are getting better!

In the meantime

I recommend using Pip . Always try using requirements.txt, it's a good way to keep your versions
consistent and working.

Use virtualenv for development purposes, and always test your package in a virtualenv with a disabled site-packages! Otherwise you risk you're distributing something that works on your workstation only because of a site-wide package you have installed there!

In order to distribute a package, you'll need setuptools/distribute as well;
just do a source distribution and a wheel distribution (you're required to
install wheel beside setuptools); forget
about eggs, especially for eggs containing binary extensions. Your command line
should be something like:

python setup.py clean register sdist bdist_wheel upload

And let's keep our fingers crossed on a better state of things!