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

问题描述

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

file_structure_screencap

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

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

这对我来说毫无意义,因为我的应用程序是一个模块并且有自己的 init 文件。我不太确定我的文件结构是否有错误,或者只是 pycharm 有问题。但我不明白为什么这个导入不应该工作。

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

from app.bitcoinBackend.seed import *

有什么想法吗??

解决方法

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

,

好的,所以我找到的解决方案涉及将 main.pyfrontend 模块移回 app 目录。这是完整重组的图片。

enter image description here

接下来你必须选择一个目录作为 sources root 我没有过多研究它,但是当我正确选择了源根目录时,所有子目录都变成了具有适当的模块符号。 (你可以看到这是appbitcoinBackend

我选择了 teamSoftwareProject 作为源根目录。有两种方法可以做到这一点,一种方法涉及

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

这是一张图片

sources root

另一种方法是

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

这是此方法的图像。 sourcesrootmethod2

最后我将 init.py 文件添加到所有其他子目录

然后从项目根目录导入工作。

from app.bitcoinBackend.seed import *