summaryrefslogtreecommitdiff
path: root/python/pkgloader.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/pkgloader.py')
-rw-r--r--python/pkgloader.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/python/pkgloader.py b/python/pkgloader.py
index 940defe5..f27b3571 100644
--- a/python/pkgloader.py
+++ b/python/pkgloader.py
@@ -49,15 +49,15 @@ def require(pkg, reqver):
got = _import_cache[pkg]
if need[0] != got[0] or reqval > got:
raise ImportError("Request for package '%s' ver '%s', have '%s'" % (
- pkg, reqver, '.'.join(_skytools_required_version)))
+ pkg, reqver, '.'.join(got)))
return
# pick best ver from available ones
- _pkg_cache = _load_pkg_cache()
- if pkg not in _pkg_cache:
+ cache = _load_pkg_cache()
+ if pkg not in cache:
return
- for pkgver, pkgdir in _pkg_cache[pkg]:
+ for pkgver, pkgdir in cache[pkg]:
if pkgver[0] == need[0] and pkgver >= need:
# install the best on
_install_path(pkg, os.path.join(_top, pkgdir))
@@ -69,12 +69,13 @@ def require(pkg, reqver):
mod = __import__(pkg)
ver_str = mod.__version__
# check if it is actually useful
+ ver_str = ver_str.split('-', 1)[0]
full_ver = tuple([int(x) for x in ver_str.split('.')])
if full_ver[0] != reqval[0] or reqval > full_ver:
raise ImportError("Request for Skytools ver '%s', got '%s'" % (
- reqver, full_str))
+ reqver, '.'.join(full_ver)))
raise ImportError("Request for package '%s' ver '%s', have '%s'" % (
- pkg, reqver, full_str))
+ pkg, reqver, '.'.join(full_ver)))
inst_ver = full_ver
except ImportError:
pass