Comment 28 for bug 1326811

Revision history for this message
Mathieu Gagné (mgagne) wrote :

Here is a bit more details about the issue:

Previously, in devstack, pip was installed by downloading a specific version (1.4.1) from a tarball from pypi. Since devstack 7b63c5e [1], pip is now installed with get-pip.py. Until recently, the version installed by get-pip.py was 1.4.1.

At about the same time, get-pip.py has been updated [2] to install pip 1.5.6 instead.

Beginning with pip 1.5.1, you don't need to have setuptools installed prior to pip installation. If setuptools is not found, it will be installed for you, otherwise it won't. Note that no particular setuptools version is required. [3]

How does it relate to the six package? Well, it looks like the six package is installed from wheel. (which uses the .dist-info directory)

Support for .dist-info directories (used by wheel packages) was added in setuptools 0.6.28. Ubuntu Precise 12.04 provides setuptools 0.6.24 [4] which is too old for our needs.

Although pip now bundles setuptools (since 1.5.1) [3], other packages are still using the system version of setuptools to discover installed packages. For six to be found by other packages, we need to install/update setuptools >= 0.6.28.

This is why we need to update setuptools to the latest to provide us the needed version to make six discoverable again.

[1] https://github.com/openstack-dev/devstack/commit/7b63c5ec9e9aea54024105a6521a754efc9f9983
[2] https://github.com/pypa/pip/commit/2b0b2f8ff3d5fc8674665c847cf9b1947f70418b
[3] http://pip.readthedocs.org/en/latest/news.html
[4] http://packages.ubuntu.com/precise/python-setuptools