例如,我无法导入子模块numpy.core.setup
,子模块numpy.distutils.msvc9compiler
和许多其他模块也是如此。你知道吗
编辑:
好的,这是一段代码。你知道吗
from importlib import import_module
from pkgutil import walk_packages
import sys
import operator
def get_attr(module, attr):
return operator.attrgetter(attr.split('.', 1)[1])(module)
def isimported(module_name):
return module_name in sys.modules
def get_submodules(module_name):
submodules = {}
module = import_module(module_name)
for loader, name, is_pkg in walk_packages(module.__path__, module.__name__ + '.'):
if isimported(name):
submodules[name] = get_attr(module, name)
else:
try:
submodules[name] = __import__(name)
except ImportError:
pass
if __name__ == "__main__":
get_submodules('numpy')
numpy/core/setup.py
不是设计成子模块的。它是NumPy构建系统的一部分。它依赖于只有在构建NumPy时才存在的东西,如果您尝试将它导入到实际安装的NumPy中,它就会失败,因为它所依赖的东西不在那里。你知道吗相关问题 更多 >
编程相关推荐