我正在编写一个烧瓶教程,并试图运行一个创建数据库的脚本,而不是通过命令行。它使用SQLAlchemy包,但是当我尝试运行脚本时,它会给出一个ImportError。
这是终端输出:
Sean:app seanpatterson$ python ./db_create.py
Traceback (most recent call last):
File "./db_create.py", line 2, in <module>
from migrate.versioning import api
ImportError: No module named migrate.versioning这是db_create.py脚本:
#!flask/bin/python
from migrate.versioning import api
from config import SQLALCHEMY_DATABASE_URI
from config import SQLALCHEMY_MIGRATE_REPO
from app import db
import os.path
db.create_all()
if not os.path.exists(SQLALCHEMY_MIGRATE_REPO):
api.create(SQLALCHEMY_MIGRATE_REPO, 'database repository')
api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO)
else:
api.version_control(SQLALCHEMY_DATABASE_URI, SQLALCHEMY_MIGRATE_REPO, api.version(SQLALCHEMY_MIGRATE_REPO))这是它引用的配置文件:
#!/usr/bin/env python
import os
basedir = os.path.abspath(os.path.dirname(__file__))
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'app.db')
SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, 'db_repository')此应用程序正在虚拟环境中运行。这是我在环境中安装的与它相关的模块:
方炼金术迁移-0.7.2-py2.7蛋-信息
感谢你的任何帮助
发布于 2014-02-08 15:13:39
ImportError: No module named migrate.versioning可能意味着模块没有安装。确保它已安装在正确的虚拟环境中,它已被激活(您在该环境中运行了activate脚本),所选的Python二进制文件实际上正在使用该环境(即您使用的是Python2而不是Python3)。
发布于 2014-06-10 22:40:06
pip install sqlalchemy==0.7.9 和
pip install sqlalchemy-migrate==0.7.2 和
这个烧瓶
发布于 2017-05-17 08:26:44
正如@BoppreH早些时候所说的
ImportError: No module named migrate.versioning意味着名为“迁移”的模块没有安装在您的虚拟环境或系统中。首先,确保您正在使用适当的环境,并且使用activate脚本激活它。
我也遇到了同样的问题,并且设置了正确的环境。但这一错误仍未解决。
对我起作用的是从pip安装sqlalchemy-migrate软件包。激活我的环境后,我运行以下代码来安装它:
pip install sqlalchemy-migratehttps://stackoverflow.com/questions/21646689
复制相似问题