summaryrefslogtreecommitdiffstats
path: root/openstack
diff options
context:
space:
mode:
Diffstat (limited to 'openstack')
-rw-r--r--openstack/common/version.py13
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