尝试使用ironpython安装autopep8时遇到错误:
ImportError: No module named logilab
失败的代码段是:
def load_module(self, fullname):
self._reopen()
try:
mod = imp.load_module(fullname, self.file, self.filename, self.etc)
finally:
if self.file:
self.file.close()
# Note: we don't set __loader__ because we want the module to look
# normal; i.e. this is just a wrapper for standard import machinery
return mod
使用解释器ipy64导入logilab并没有失败。 我为文件名添加了一个print语句,它显示:
C:\Program Files (x86)\IronPython 2.7\Lib\site-packages\logilab_common-0.59.1-py2.7.egg\logilab
路径存在且包含 init .py,其中包含以下内容:
"""generated file, don't modify or your data will be lost"""
try:
__import__('pkg_resources').declare_namespace(__name__)
except ImportError:
pass
我通过添加
来快速修复错误except ImportError:
mod = __import__(fullname)
但由于我不知道可能产生的影响,我对此修复感觉不太好。
现在,为什么使用imp.load_module会失败,使用 import 会有什么不同?