[Distutils] Managing how an egg-info is created?

John Anderson sontek at gmail.com
Sun Nov 23 02:24:36 CET 2014


We use gunicorn as our webserver and we use it to do zero downtime
deployments.  The way it does this is by having a master process that forks
children.  This works perfectly when we deploy as editable installations
(pip install -e) but doesn't work when we install sdists.

The reason this doesn't work with sdists is because the .egg-info directory
is named by the version, for example, if we deploy  AnWeb-1.0 and it'll
give a path like this:

site-packages /AnWeb-1.0.egg-info/

Then we release AnWeb-1.5, it'll give us:

site-packages/AnWeb-1.5.egg-info/

So when a new worker is forked, the master already has sys.path loaded and
its going to check for sites-packages/AnWeb-1.0.egg-info/entry_points.txt
which will fail and the workers die.

What I'm wondering is if I can control this somehow to get a non-versioned
egg-info installed from an sdist?  Or do you recommend always using
editable installs?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20141122/16f6f210/attachment.html>


More information about the Distutils-SIG mailing list