diff options
author | Jenkins <jenkins@review.openstack.org> | 2013-01-30 07:14:41 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2013-01-30 07:14:41 +0000 |
commit | 8a50c19e0b3eac5cd9e7fa2490b39c154db153d5 (patch) | |
tree | f6ae0d4097b6a70e8b902a5c43b2997323376d4f /openstack/common | |
parent | a8cc71e8e394ccfae7a0346b9099ac95976427cd (diff) | |
parent | 5e69dd94bf81f55d6d5b917b7ec673482b5565c0 (diff) | |
download | oslo-8a50c19e0b3eac5cd9e7fa2490b39c154db153d5.tar.gz oslo-8a50c19e0b3eac5cd9e7fa2490b39c154db153d5.tar.xz oslo-8a50c19e0b3eac5cd9e7fa2490b39c154db153d5.zip |
Merge "Support running uninstalled in a tarball dir."
Diffstat (limited to 'openstack/common')
-rw-r--r-- | openstack/common/version.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/openstack/common/version.py b/openstack/common/version.py index 3653ad0..c27095a 100644 --- a/openstack/common/version.py +++ b/openstack/common/version.py @@ -36,9 +36,16 @@ class VersionInfo(object): def _get_version_from_pkg_resources(self): """Get the version of the package from the pkg_resources record associated with the package.""" - requirement = pkg_resources.Requirement.parse(self.package) - provider = pkg_resources.get_provider(requirement) - return provider.version + try: + requirement = pkg_resources.Requirement.parse(self.package) + provider = pkg_resources.get_provider(requirement) + return provider.version + except pkg_resources.DistributionNotFound: + # The most likely cause for this is running tests in a tree with + # produced from a tarball where the package itself has not been + # installed into anything. Check for a PKG-INFO file. + from openstack.common import setup + return setup.get_version_from_pkg_info(self.package) def release_string(self): """Return the full version of the package including suffixes indicating |