[openstack-dev] nova dependencies, oslo-config and pypi

Johannes Erdfelt johannes at erdfelt.com
Mon Feb 25 18:25:13 UTC 2013


I noticed that oslo-config isn't in pypi yet.

This is causing some problems when nova is installed in some ways.

For instance, if you use 'pip install
http://tarballs.openstack.org/nova/nova-2013.1.g3.tar.gz' or if nova is
installed indirectly because of a dependency (such as for nova_limits).

It appears the reason is because of limitations in setuptools and the
different ways dependencies can get installed.

The nova tox config will install dependencies by calling pip directly.
This can handle the URL style install of oslo-config just fine. However,
when using pip install with a nova tarball, or when indirectly installed
by dependencies, setuptools is used.

nova (using nova.openstack.common.setup) will generate a list of
dependencies based on the tools/pip-requires file for the setuptools
install_requires parameter. In doing so, it will convert the URL for
oslo-config into just a package name.

Unfortunately oslo-config doesn't exist in pypi, causing the install to
fail with an error similar to this:

Downloading/unpacking oslo-config (from nova==2013.1.g3)
  Could not find any downloads that satisfy the requirement oslo-config
(from nova==2013.1.g3)
No distributions at all found for oslo-config (from nova==2013.1.g3)

It looks like the best way of fixing this is to get oslo-config into
pypi. Is there a reason it isn't already?

Should we restrict URLs in pip-requires to avoid similar problems in the
future?

JE




More information about the OpenStack-dev mailing list