Python ModuleNotFoundError—在Pycharm intellisense中找到的模块,但在执行程序时未找到

Python ModuleNotFoundError—在Pycharm intellisense中找到的模块,但在执行程序时未找到,python,pycharm,python-import,importerror,Python,Pycharm,Python Import,Importerror,使用PyCharm,我有一个SMTP解析器项目,其结构如下: - SMTP - Classes - Models - Transformers - Tests 在测试中I引用SMTP.classes.Transformers中的类如下: 从SMTP.Classes.Transformers.myclass导入myclass 这是可行的,我的单元测试运行正常 但是,我现在添加了一个代理文件myProxy.py: - SMTP - Classes - Mode

使用PyCharm,我有一个SMTP解析器项目,其结构如下:

- SMTP
  - Classes
    - Models
    - Transformers
  - Tests 
测试中
I引用
SMTP.classes.Transformers中的类
如下:

从SMTP.Classes.Transformers.myclass导入myclass

这是可行的,我的单元测试运行正常

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

- SMTP
  - Classes
    - Models
    - Transformers
  - Tests 
  - myProxy.py
myProxy.py
中,我尝试导入我的类,如上所示:

从SMTP.Classes.Transformers.myclass导入myclass

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

然而,当我试图从控制台运行
myProxy.py
时,我得到
ModuleNotFoundError:没有名为“SMTP”的模块
当我从每个受影响的文件中删除
SMTP
部分时,我就可以从控制台运行此操作。它甚至在PyCharm上运行。然而,由于某些原因,PyCharm确实将我的导入下划线为false


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

您可以尝试忽略
SMTP
,而只需将
类标记为PyCharm中的源根目录,通过进入:右键单击
Classes
directory>将目录标记为>Sources Root。

您是否正在使用一个虚拟环境,您正在将模块装载到该环境中?发布此问题10秒后,我发现这一点,但您在回答我的问题时只比我快了一点。也可以通过文件->设置->项目:[名称]->项目结构来完成此操作。