Python ModuleNotFoundError—在Pycharm intellisense中找到的模块,但在执行程序时未找到
使用PyCharm,我有一个SMTP解析器项目,其结构如下: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
- 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秒后,我发现这一点,但您在回答我的问题时只比我快了一点。也可以通过文件->设置->项目:[名称]->项目结构来完成此操作。