首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么alembic不自动生成?

为什么alembic不自动生成?
EN

Stack Overflow用户
提问于 2015-05-24 19:47:11
回答 3查看 6.2K关注 0票数 7

我在学习烧瓶。使用sqlalchemy进行orm和alembic进行迁移,并进行以下操作:http://alembic.readthedocs.org/en/latest/autogenerate.html

每当我传递命令“alembic自动生成-m 'name‘”时,就会弹出这个错误。不管我做什么,我都配置了config.py文件,但我认为我可能是以错误的方式配置了env.py文件。或者是因为我遵循了教程的每一步,所以出了点问题。

代码语言:javascript
复制
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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-24 20:07:44

运行alembic命令时,应用程序包不在Python的模块路径中。所以不能进口。解决这一问题的最简单方法是使用诸如瓶迁移瓶-Alembic这样的扩展来为您处理迁移环境的设置。这两个扩展都要求您使用瓶-SQLAlchemy

如果您不想使用扩展,那么快速和肮脏的方法就是强制包含应用程序包的目录在路径上。在env.py中,在导入Base之前,添加

代码语言:javascript
复制
import os, sys
sys.path.insert(0, os.path.realpath(os.path.join(os.path.dirname(__file__), '..')))

更好的解决方案是使用setup.py文件正确地设置项目,并以可编辑模式:pip install -e .安装包。那么您的包就会以“正确”的方式在路径上运行,就好像它实际上已经安装了一样。

票数 20
EN

Stack Overflow用户

发布于 2017-04-08 13:47:31

你应该使用export PYTHONPATH='.'

票数 6
EN

Stack Overflow用户

发布于 2020-02-03 18:02:48

您需要将绝对路径添加到您的alembic文件夹所在的根目录。例:

如果您当前的文件夹结构是:

代码语言:javascript
复制
 .
├── app
│   ├── alembic
│   │   ├── env.py
│   │   ├── __pycache__
│   │   ├── README
│   │   ├── script.py.mako
│   │   └── versions
│   ├── alembic.ini
│   ├── constants
│   ├── core
│   ├── enums
│   ├── models
│   ├── repository
│   ├── routes
│   ├── __init__.py
│   ├── main.py

您的应用程序的绝对路径是:

代码语言:javascript
复制
/home/username/dev/app

然后运行下面的行,为本地开发添加~/..bashrc或~/..zshrc中的路径,并更新env变量。

代码语言:javascript
复制
echo "export $PYTHONPATH=$PYTHONPATH:/home/username/dev/app" >> ~/.bashrc
source ~/.bashrc

代码语言:javascript
复制
echo "export $PYTHONPATH=$PYTHONPATH:/home/username/dev/app" >> ~/.zshrc
source ~/.zshrc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30427654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档