From: Oleg Broytman Date: Thu, 7 Feb 2019 13:43:01 +0000 (+0300) Subject: Build(setup.py): Use `importlib` instead of deprecated `imp` for Python 3.4+ X-Git-Tag: 0.1.6~35 X-Git-Url: https://git.phdru.name/?p=m_librarian.git;a=commitdiff_plain;h=d8730304e70f817949e4230c9d750880009fe41c Build(setup.py): Use `importlib` instead of deprecated `imp` for Python 3.4+ --- diff --git a/setup.py b/setup.py index f6779b1..c423eee 100755 --- a/setup.py +++ b/setup.py @@ -1,8 +1,24 @@ #!/usr/bin/env python -from imp import load_source from os.path import abspath, dirname, join from setuptools import setup +import sys + +if sys.version_info[:2] == (2, 7): + from imp import load_source + +elif sys.version_info >= (3, 4): + from importlib.machinery import SourceFileLoader + import types + + def load_source(fullname, path): + loader = SourceFileLoader(fullname, path) + loaded = types.ModuleType(loader.name) + loader.exec_module(loaded) + return loaded + +else: + raise ImportError("m_librarian requires Python 2.7 or 3.4+") versionpath = join(abspath(dirname(__file__)), 'm_librarian', '__version__.py') m_librarian_version = load_source('m_librarian_version', versionpath)