ModuleNotFoundError-在Pycharm intellisense中找到但在执行程序时找不到的模块

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

使用PyCharm,我有一个具有以下结构的SMTP解析器项目:

- SMTP
  - Classes
    - Models
    - Transformers
  - Tests 

Tests中,我像这样引用SMTP.Classes.Transformers中的类:

from SMTP.Classes.Transformers.myclass import MyClass

这有效,我的单元测试正常运行。

但是,我现在添加了一个代理文件myProxy.py

- SMTP
  - Classes
    - Models
    - Transformers
  - Tests 
  - myProxy.py

myProxy.py中,我尝试导入我的课程,就像上面一样:

from SMTP.Classes.Transformers.myclass import MyClass

当我输入from S时,PyCharm实际上会建议SMTP,而当我将其写出时,它没有显示任何错误。我什至可以使用“运行”按钮在PyCharm中启动myProxy

但是,当我尝试从控制台运行myProxy.py时,我得到了ModuleNotFoundError: No module named 'SMTP'当我从每个受影响的文件中删除SMTP部分时,可以从控制台运行它。它甚至可以在PyCharm上运行。但是,由于某些原因,PyCharm确实将我的进口商品强调为假。

这里到底是什么错误,我该如何解决,以便我在PyCharm中没有错误并且可以在pycharm和控制台上运行我的程序?

python pycharm python-import importerror
1个回答
0
投票
您可以尝试忽略SMTP,而只需在[PyCharm]中将Classes标记为Source Root,方法是:右键单击Classes目录>将目录标记为> Sources Root。
© www.soinside.com 2019 - 2024. All rights reserved.