[openstack-dev] heads up - upstream pip/virtualenv/setuptools upgrades may cause some hiccups

Monty Taylor mordred at inaugust.com
Sat Jul 6 01:05:56 UTC 2013

Hey all!

A few things are happening in the world of python that are have an
impact on us. The end story is good, and things are getting both simpler
and better (and in a few weeks - MUCH faster for many of us) ... in the
mean time, there may be some evil bunny rabbits.

tl;dr - your virtualenv might break at some point, and you might have to
recreate or fix it, and you might need to upgrade pip or tox

Longer version:

distribute and setuptools have re-merged with each other and now
distribute is dead and setuptools is king. That's great, since, you
know, sanity. BUT - we've got a lot of distribute-based virtualenv
laying around. distribute has just released a new version which
bootstraps back to setuptools, but there are some edge cases,
specifically when doing an install of a large body of dependencies,
where sequencing can cause pain.

EVERYTHING NEW is great. A virtualenv created with virtualenv 1.9 or
later, WITHOUT the --distribute flag. Everything will work. Especially
in a couple of days when pip 1.4 comes out. Basically, everything always
wants pip 1.4, setuptools >= 0.8 and virtualenv 1.9 and then things are

If you have a virtualenv that was created with --distribute, or you have
an environment with distribute installed via pip, you can just do "pip
install -U setuptools" and life should be happy again.

If you have a virtualenv that was created with --distribute and you
attempt to do "pip install -U -r requirements.txt -r
test-requirements.txt" it might die in a fire. It's ok - it's just a
virtualenv. Try starting over.

We're going to be working through adjusting a few things in the gate to
ensure that we don't get into a weird situation there.

If you run in to issues over the new few days, please don't hesitate to
find us in #openstack-infra.


More information about the OpenStack-dev mailing list