

How we improved Python packaging and distribution - sebastiank123
https://rhodecode.com/blog/45/how-we-improved-python-packaging-distribution

======
j-kidd
Here's my old school setup:

Deployment: `easy_install -U` from a local pypi

Packaging: `setup.py bdist_egg` and `setup.py bdist_wininst`

Dependencies: declare in setup.py, fetch via yolk

To test if everything works, just create a blank virtualenv and easy_install.

This has been working fine for me for years on Linux and Windows.

~~~
sebastiank123
Do packages with dependencies in C still require compiling during pip install?

~~~
mmerickel
While pip does not support binary eggs, easy_install still does. If you want
binary distribution with pip you need to use wheels (as you are, of course).

------
jlarocco
Seems like a bad idea to delete the existing sandbox before downloading
everything and installing.

A better idea is to move it to a temp location in the first step, and only
delete it after the new version has installed correctly.

~~~
sebastiank123
Good idea, I put it on the list.

------
q845712
packaging and distribution are definitely python's weak points... for
deploying to (internal) servers i've really been liking docker.

~~~
Demiurge
I have worked with PECL, CPAN, and I find pip to be quite easy and virtualenv
pretty cool. Arguably npm is better, but relatively speaking, I think it is
py2/3 split that is pythons weakest point.

------
Demiurge
I still install binary eggs and easy_install occasionally. Why didn't those
fit in with pip?

~~~
mmerickel
For hysterical reasons, pip has never supported binary eggs. Wheels are the
replacement of the future!

------
af3
Geez, installation of the enterprise python software seems to be very
complicated...

~~~
sebastiank123
Now it’s not anymore thanks to the Installer and all the improvements we did
(as explained at the blog post).

But normally it is, yes.

