【问题标题】:"No module named MyClass" error on PyCharmPyCharm 上的“没有名为 MyClass 的模块”错误
【发布时间】:2025-12-12 23:35:01
【问题描述】:

我使用的是 PyCharm 社区版 2016.3.1,但是当我在同一个目录中有两个以上的 python 文件时,如果我将其中一个导入另一个,则会加下划线:

# main.py
import MyClass1

没有名为 MyClass1 的模块 less... (Ctrl+F1) 此检查检测到应该解析但没有解析的名称。由于动态调度和鸭子类型,这在有限但有用的情况下是可能的。*项目比实例项目更受支持。

但是当我执行 main.py 时它可以正常工作。

import sys 等其他常规导入不会加下划线。

【问题讨论】:

  • 保存 MyClass1 的文件的名称是什么?
  • 这两个python文件是不是在同一个目录下?

标签: python syntax pycharm underline


【解决方案1】:

如果这两个 python 文件在同一个目录下,例如。 MyDirectory,您需要使用MyDirectory 作为根来导入类。例如,如果您有以下项目结构:

└── MyDirectory
    ├── file1.py (MyClass1)
    └── file2.py (MyClass2)

要将MyClass1 导入到 file2.py 中,您可以执行以下操作:

from MyDirectory.file1 import MyClass1

【讨论】:

    【解决方案2】:

    您收到此错误的原因是您没有正确导入。

    Python 导入遵循此语法。

    import filename
    

    这意味着您需要在当前目录中有一个文件名filename.py。你也可以像这样从那个文件中导入一个特定的类。

    from filename import MyCalss
    

    【讨论】: