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.
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/ 7b63c5ec9e9aea5 4024105a6521a75 4efc9f9983 /github. com/pypa/ pip/commit/ 2b0b2f8ff3d5fc8 674665c847cf9b1 947f70418b pip.readthedocs .org/en/ latest/ news.html packages. ubuntu. com/precise/ python- setuptools
[2] https:/
[3] http://
[4] http://