cha*_*arn 4 python sqlalchemy flask alembic
我正在学习烧瓶.使用sqlalchemy for orm和alembic进行迁移贯穿以下内容:http: //alembic.readthedocs.org/en/latest/autogenerate.html
每当我通过命令"alembic revision --autogenerate -m'name'"时,弹出这个错误.无论我做什么,我配置了config.py文件,但我想也许我正在以错误的方式配置env.py文件.或者出了点问题,因为我遵循了教程的每一步.
File "alembic/env.py", line 20, in <module>
from myapp.mymodel import Base
ImportError: No module named app.models
folder directory:
project/
app/
models.py
views.py
__init__.py
alembic/
versions
env.py
config.py
Run Code Online (Sandbox Code Playgroud)
dav*_*ism 14
运行alembic命令时,您的应用程序包不在Python的模块路径中.所以它无法导入.解决此问题的最简单方法是使用Flask-Migrate或Flask-Alembic等扩展来处理为您设置迁移环境.这两个扩展都要求您使用Flask-SQLAlchemy.
如果您不想使用扩展,快速而又脏的方法是强制包含您的应用程序包的目录位于路径上.在env.py导入Base之前,添加
import os, sys
sys.path.insert(0, os.path.realpath(os.path.join(os.path.dirname(__file__), '..')))
Run Code Online (Sandbox Code Playgroud)
更好的解决方案是使用setup.py文件正确设置项目并以可编辑模式安装包:pip install -e ..然后你的包将以"正确"的方式在路径上,就像它实际安装一样.
| 归档时间: |
|
| 查看次数: |
3049 次 |
| 最近记录: |