python - 无法导入实现 Flask CLI 的应用程序模块
问题描述
出于某种原因,当我尝试执行我的自定义命令时:
烧瓶创建用户
每当我尝试从我的 src 文件夹中导入任何内容时都会收到错误消息:
文件“/app/backend/flask_app/command.py”,第 17 行,在 seed_db import src.models ModuleNotFoundError: No module named 'src'
/
__init__.py
command.py
run.py
src/
__init__.py
models/
__init__.py
user_model.py
命令.py
import click
from flask import Flask
from flask.cli import with_appcontext
app = Flask(__name__)
@app.cli.command()
@with_appcontext
def create_user():
import src.models as models
print("hello")
app.cli.add_command(seed_db)
解决方案
我找到了解决方案。
我不得不删除根目录__init__.py
文件。
我从著名的 Miguel Grinberg 那里找到了这个答案:
https://github.com/miguelgrinberg/flasky/issues/310#issuecomment-340641813
这些文件 (
__init__.py
) 使 python 认为包的主目录是上面的一个目录,因此这是添加到 Python 路径的目录。通常您希望您的顶级目录不是 Python 包,以便当前目录转到该路径。
__
推荐阅读
- json - java.lang.Integer 类型的值无法转换为 JSONObject
- javascript - 如何为表中的删除行包含不同的警报?
- android-studio - 如何解决 Flutter 控制台中的“目标在我们附加之前死亡”消息?
- sequelize.js - Sequelize 单表查询 - 关系不存在
- python - 通过拟合实验数据估计复杂微分方程组参数时如何增加预测数据?
- 3d-reconstruction - 计算机图形学中的亚体素是什么意思?
- python - 手动操作不适用于 selenium webdriver
- computer-science - 在 dafny 断言中的数组初始化失败后
- kubernetes - 在 Kubernetes 部署中的任意一个 Pod 上运行进程
- amazon-web-services - 如何以编程方式检查 IAM 用户是否在没有 MFA 的情况下登录 AWS 控制台?