加载代码似乎是这样的:
try: return sys.modules[pkgname] except KeyError: if level < 1: warn("Parent module '%s' not found while handling " "absolute import" % pkgname, RuntimeWarning, 1) return None else: raise SystemError, ("Parent module '%s' not loaded, cannot " "perform relative import" % pkgname)
这让我认为您的模块可能不在sys.path上。如果您启动Python(通常),然后在提示符下键入“ import mainpack”,它有什么作用?它
应该 能够找到它。
我自己尝试过,并遇到相同的错误。看了一点之后,我发现了以下解决方案:
# foo/__main__.pyimport sysmod = __import__('foo')sys.modules["foo"]=mod__package__='foo'from .bar import hellohello()
对我来说似乎有点黑,但确实可以。技巧似乎是确保
foo已装入软件包,以便导入可以是相对的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)