例如,我無法導入子模塊numpy.core.setup
,子模塊numpy.distutils.msvc9compiler
和其他許多模塊也是如此。爲什麼不能導入一些python子模塊?
編輯:
好了,下面的代碼片段。
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')
你能顯示你的代碼嗎? – ifconfig
並向我們顯示您正在收到的確切錯誤消息。 –
@ifconfig我用'pkgutil.walk_packages'來列出'numpy'模塊的所有子模塊。然後我發現有些模塊還沒有導入。上面提到了其中的一些。所以基本上如果你嘗試像這樣導入它們:'import numpy.core.setup'你會得到一個導入錯誤。所以它與我正在編寫的代碼沒有多大關係。 – Foobard