From ac6fbaa4ef4b6e0645546fa3adc55b90ea3d9729 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Sat, 4 Oct 2014 15:24:01 -0500 Subject: [PATCH] Allow for unicode version info --- setup.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/setup.py b/setup.py index 4058b602..56f0039d 100755 --- a/setup.py +++ b/setup.py @@ -82,14 +82,19 @@ version='%s' def get_package_version(package): version = [] for version_attr in ('version', 'VERSION', '__version__'): - if hasattr(package, version_attr) \ - and isinstance(getattr(package, version_attr), str): - version_info = getattr(package, version_attr, '') - for part in re.split('\D+', version_info): - try: - version.append(int(part)) - except ValueError: - pass + version_info = getattr(package, version_attr, None) + try: + parts = re.split('\D+', version_info) + except TypeError: + continue + for part in parts: + try: + version.append(int(part)) + except ValueError: + pass + if not version: + print(package) + return tuple(version) @@ -112,6 +117,7 @@ def check_requirements(): dep_error = True if dep_error: + print('***********', package_version) raise ImportError('You need `%s` version %d.%d or later.' \ % ((package_name, ) + min_version))