进口PyCharm未解决的参考?

问题描述 投票:4回答:1

为什么PyCharm强调这些进口:

from oauth2_helper import (_url, get_token, get_session)
from config import scope

作为Unresolved reference,但如果我在前面加点:

from .oauth2_helper import (_url, get_token, get_session)
from .config import scope

我不明白的错误下划线在PyCharm,但是从终端运行我的应用程序时,我得到这个错误:

ModuleNotFoundError: No module named '__main__.oauth2_helper'; '__main__' is not a package

你认为,为什么会出现这种情况?

python-3.x pycharm
1个回答
1
投票

有在玩,在这里两件事情:

像Eskapp在评论说,PyCharm被配置到不同的项目根比你似乎期望,通过它标志着你进口的未解决的引用证明。您没有提供任何线索,以你的项目结构,但它可能是你的项目的根目录设置为你的Python模块的父目录(或者甚至进一步上涨的层次)。 PyCharm正在寻找$ {} PROJECTROOT / oath2_helper并没有发现它,因为项目的根目录设置到错误的目录。

然后,您尝试通过改变相对进口,这似乎是一个合理的解决方案来解决这个问题。它看起来像你直接调用,使这些进口写的模块(即python myapp.py)。当你以这种方式调用模块,它丢弃有关的包装结构,不再有什么地方其他模块相对位置的任何信息。见https://stackoverflow.com/a/73149/11034626

© www.soinside.com 2019 - 2024. All rights reserved.