代码之家  ›  专栏  ›  技术社区  ›  Robert O'Brien

ModuleNotFoundError:尝试绝对导入时没有名为“app”的模块

  •  0
  • Robert O'Brien  · 技术社区  · 3 年前

    我一直在尝试将文件导入到我的 main.py 使用从源根目录导入的文件。 这是我的文件结构的图片。。。

    file_structure_screencap

    我只是使用源根导入来尝试导入 seed.py 进入我的 main.py 文件。但不断收到此错误消息。

    **ModuleNotFoundError: No module named 'app'**
    

    这对我来说毫无意义,因为我的应用程序是一个模块,有自己的init文件。我不太确定我的文件结构是否有错误,或者只是pycharm有问题。但我看不出这种进口不起作用的原因。

    这是我使用的import语句的代码片段

    from app.bitcoinBackend.seed import *
    

    有什么想法吗??

    1 回复  |  直到 3 年前
        1
  •  1
  •   Victor Gonzalez Chamorro    3 年前

    也许你应该尝试将main.py移动到应用程序的根文件夹,然后调用bitcoinBackend.sed import*。因为你的main位于app的子文件夹中。

        2
  •  0
  •   Robert O'Brien    3 年前

    好吧,我找到的解决方案是搬家 main.py 前端 模块返回 应用程序 目录。这是完整重组的图片。

    enter image description here

    接下来,您必须选择一个目录作为 源根 我没有过多研究,但当我正确选择了源代码根时,所有子目录都变为具有适当的模块符号。(你可以看到这是 应用程序 比特币后端 )

    我选择了 团队软件项目 作为根源。有两种方法可以做到这一点,一种方法涉及

    1. 右键单击要设置为源根目录的目录
    2. 选择 将目录标记为
    3. 然后选择 源根

    这是一张图片

    sources root

    另一种方法是

    1. 选择文件->设置
    2. 选择项目结构
    3. 然后选择您的源根文件夹
    4. 单击应用,然后单击确定

    这是这种方法的图像。 sourcesrootmethod2

    最后我补充道 init .py 文件到所有其他子目录

    然后从项目根目录导入成功。

    from app.bitcoinBackend.seed import *