1from distutils.command.build_py import build_py as old_build_py 2from numpy.distutils.misc_util import is_string 3 4class build_py(old_build_py): 5 6 def run(self): 7 build_src = self.get_finalized_command('build_src') 8 if build_src.py_modules_dict and self.packages is None: 9 self.packages = list(build_src.py_modules_dict.keys ()) 10 old_build_py.run(self) 11 12 def find_package_modules(self, package, package_dir): 13 modules = old_build_py.find_package_modules(self, package, package_dir) 14 15 # Find build_src generated *.py files. 16 build_src = self.get_finalized_command('build_src') 17 modules += build_src.py_modules_dict.get(package, []) 18 19 return modules 20 21 def find_modules(self): 22 old_py_modules = self.py_modules[:] 23 new_py_modules = [_m for _m in self.py_modules if is_string(_m)] 24 self.py_modules[:] = new_py_modules 25 modules = old_build_py.find_modules(self) 26 self.py_modules[:] = old_py_modules 27 28 return modules 29 30 # XXX: Fix find_source_files for item in py_modules such that item is 3-tuple 31 # and item[2] is source file. 32