【问题标题】:Package and module import in pythonpython中的包和模块导入
【发布时间】:2026-02-06 13:20:17
【问题描述】:

这是我的文件夹结构:

|sound
|-__init__.py
|-model
  |-__init__.py
  |-module1.py
  |-module2.py
|-simulation
  |-sim.py

文件module1.py包含代码:

class Module1:
    def __init__(self,mod):
        self.mod = mod

文件module2.py包含代码:

class Module2:
    def __init__(self,mods=None):
        if mods is None:
            mods = []
        self.mods = mods
    def append(self.mod):
        mods.append(mod)

最后文件 sim.py 包含代码:

import sound

sound_1 = sound.module2.Module2()

当我执行 sim.py 时,我得到一个 ModuleNotFoundError: No module named 'sound'

我已经尝试了几乎所有方法,例如 from sound.model import module2 等,但我相信问题出在 python 没有找到 sound 包。

我已经阅读了一些教程、文档和主题,但我不明白我做错了什么。

【问题讨论】:

  • sound 是一个文件夹吗? init.py 在里面吗?
  • 不应该是sound.model.module2.Module2你错过了model
  • @Macintosh_89 已经尝试过了

标签: python python-3.x module package


【解决方案1】:

简单的修复:

  • sim.py 上移一个文件夹到声音中
  • 试试import module2
  • sound_1 = module2.Module2()

【讨论】:

  • 感谢您的回答,但我宁愿将所有模拟保存在同一个模拟文件夹中