33
44import os
55import sys
6- import imp
6+ import importlib
7+ from importlib .util import module_from_spec , spec_from_file_location
78from setuptools import setup , find_packages
89from setuptools .command .sdist import sdist as sdist_orig
910from distutils .command .build import build as build_orig
1415 sys .exit (1 )
1516
1617
17- # Load _version.py module without importing 'adaptive'
18- _dont_write_bytecode = sys .dont_write_bytecode
19- version = imp .load_source ('version' , 'adaptive/_version.py' )
20- sys .dont_write_bytecode = _dont_write_bytecode
18+ package_name = 'adaptive'
19+
20+ # Load version.py module without importing 'adaptive'
21+ def load_version_module ():
22+ spec = spec_from_file_location ('version' ,
23+ '{}/version.py' .format (package_name ))
24+ module = module_from_spec (spec )
25+ spec .loader .exec_module (module )
26+ return module
27+
28+ version = load_version_module ()
2129
2230
2331def write_version (fname ):
@@ -35,15 +43,14 @@ def write_version(fname):
3543class build (build_orig ):
3644 def run (self ):
3745 super ().run ()
38- write_version (os .path .join (self .build_lib , 'adaptive' ,
46+ write_version (os .path .join (self .build_lib , package_name ,
3947 version .STATIC_VERSION_FILE ))
4048
4149
4250class sdist (sdist_orig ):
43-
4451 def make_release_tree (self , base_dir , files ):
4552 super ().make_release_tree (base_dir , files )
46- write_version (os .path .join (base_dir , 'adaptive' ,
53+ write_version (os .path .join (base_dir , package_name ,
4754 version .STATIC_VERSION_FILE ))
4855
4956
0 commit comments