Python 无法导入实现Flask CLI的应用程序模块
由于某些原因,当我尝试执行自定义命令时: 创建用户 每当我尝试从src文件夹导入任何内容时,都会出现错误: 种子数据库中的文件“/app/backend/flask_app/command.py”,第17行 导入src.models ModuleNotFoundError:没有名为“src”的模块 command.pyPython 无法导入实现Flask CLI的应用程序模块,python,flask,command-line-interface,Python,Flask,Command Line Interface,由于某些原因,当我尝试执行自定义命令时: 创建用户 每当我尝试从src文件夹导入任何内容时,都会出现错误: 种子数据库中的文件“/app/backend/flask_app/command.py”,第17行 导入src.models ModuleNotFoundError:没有名为“src”的模块 command.py 这是python导入模块的方式,而不是Flask命令 由于command.py文件与models文件夹处于同一级别,因此您只需编写: import models.user_mod
这是python导入模块的方式,而不是Flask命令 由于command.py文件与models文件夹处于同一级别,因此您只需编写:
import models.user_models as users
之后,您可以从用户参考访问用户模块:
import models.user_models as users
users.some_function_name()
我找到了解决办法
我不得不删除根目录\uuuu init\uuuu.py
文件
我从著名的米格尔·格林伯格那里找到了这个答案:
这些文件(\uuuu init\uuuuu.py
)使python相信包的主目录是上面的一个目录,因此这就是添加到python路径的目录。通常,您希望顶级目录不是Python包,以便当前目录指向路径
__和
\uuuu init\uuuuupy
是否在src
目录中?从复制的文件树看有点不清楚。我在读取您的树时有点问题,但我认为src/
目录中的\uuuu init\uuuuuuuy.py
文件丢失,正如前面提到的@Joost@Joost是的,你说得对。init.py位于src目录中。我修复了树以使其更清晰。command.py文件在树结构中的什么位置?是与src文件夹处于同一级别还是在其中?@AntonioRomano修复了treeSorry根目录中的tree-command.py,我相信我的树结构是错误的。对错误表示歉意。command.py与models不在同一级别,它位于app root目录中models
位于src
目录中。我已尝试将命令.py
置于models
目录的同一级别,您提供的解决方案也不起作用。同样的错误。
import models.user_models as users
import models.user_models as users
users.some_function_name()