Nightmare and relative Import,pep 366如何工作?

Nightmare and relative Import,pep 366如何工作?,第1张

Nightmare and relative Import,pep 366如何工作?

加载代码似乎是这样的:

    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
已装入软件包,以便导入可以是相对的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5650196.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存