diff --git a/kwant/_common.py b/kwant/_common.py index b9ea7aec8bc6b0c3953c495e8fbe3d2b88e15bcf..0015050b4a73b6afb07acb77cbc545a95d8b488f 100644 --- a/kwant/_common.py +++ b/kwant/_common.py @@ -11,7 +11,9 @@ import os __all__ = ['version', 'KwantDeprecationWarning'] -distr_root = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) +package_root = os.path.dirname(os.path.realpath(__file__)) +distr_root = os.path.dirname(package_root) +version_file = '_kwant_version.py' def get_version_from_git(): try: @@ -66,7 +68,14 @@ def get_version_from_git(): -from _kwant_version import version +# version file contains comments (lines starting with '#') +# followed by the version string on its own on a single line +with open(os.path.join(package_root, version_file), 'r') as f: + cruft="\"'\n\t\r " # strip whitespace and quotes + line = next(f).strip(cruft) + while line.startswith('#'): + line = next(f).strip(cruft) + version = line version_is_from_git = (version == "__use_git__") if version_is_from_git: version = get_version_from_git() diff --git a/kwant/_kwant_version.py b/kwant/_kwant_version.py index 9530ac998c43053c49ccbf5ede5955b72deba379..ddd1a398a5327318bd7193a6d9133aef3791e7c3 100644 --- a/kwant/_kwant_version.py +++ b/kwant/_kwant_version.py @@ -1,4 +1,4 @@ # This file will be overwritten by setup.py when a source or binary # distribution is made. The magic value "__use_git__" is interpreted by # _common.py in this directory. -version = "__use_git__" +"__use_git__" diff --git a/setup.py b/setup.py index 9782a4842158064eb5f40bab4d2fac3614e2a16c..c1b3847d75a4ef76d1518213783f1568b967fb36 100755 --- a/setup.py +++ b/setup.py @@ -47,11 +47,6 @@ TUT_HIDDEN_PREFIX = '#HIDDEN' # it is not built yet. _dont_write_bytecode_saved = sys.dont_write_bytecode sys.dont_write_bytecode = True -try: - imp.load_source(STATIC_VERSION_PATH[-1].split('.')[0], - os.path.join(*STATIC_VERSION_PATH)) -except IOError: - pass _common = imp.load_source('_common', 'kwant/_common.py') sys.dont_write_bytecode = _dont_write_bytecode_saved @@ -228,7 +223,7 @@ def write_version(fname): pass with open(fname, 'w') as f: f.write("# This file has been created by setup.py.\n") - f.write("version = '{}'\n".format(version)) + f.write(version) def long_description():