Python Flask-ImportError:没有名为migrate.versioning的模块

Python Flask-ImportError:没有名为migrate.versioning的模块,python,flask,importerror,flask-sqlalchemy,flask-migrate,Python,Flask,Importerror,Flask Sqlalchemy,Flask Migrate,我正在学习flask教程,并尝试运行一个创建数据库的脚本,而不是通过命令行。它使用SQLAlchemy迁移包,但当我尝试运行脚本时,它会给出一个提示 这是终端输出: Sean:app seanpatterson$ python ./db_create.py Traceback (most recent call last): File "./db_create.py", line 2, in <module> from migrate.versioning import

我正在学习flask教程,并尝试运行一个创建数据库的脚本,而不是通过命令行。它使用SQLAlchemy迁移包,但当我尝试运行脚本时,它会给出一个提示

这是终端输出:

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
这是它引用的配置文件:

#!/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')
此应用程序正在虚拟环境中运行。这是我在环境中安装的与之相关的模块:

sqlalchemy_-0.7.2-py2.7.egg-info


欢迎任何帮助导入错误:没有名为migrate的模块。版本控制可能意味着未安装该模块。确保它已安装在正确的虚拟环境中,并且已激活(您在该环境中运行了
activate
脚本),并且选定的Python二进制文件实际上正在使用该环境(即,您使用的是Python2,而不是Python3).

flask/bin/pip安装flask-sqlalchemy
而不定义版本对我来说很好

pip install sqlalchemy==0.7.9 


或者,这个烧瓶whooshalchemy==0.55a应该可以解决问题,

,正如@BoppreH之前所说的那样

ImportError: No module named migrate.versioning
表示名为“迁移”的模块未安装在虚拟环境或系统中。首先确保您使用的是正确的环境,并使用激活脚本激活该环境

我也遇到了同样的问题,并设置了正确的环境。但错误仍然没有得到解决

对我有效的是从pip安装sqlalchemy migrate包。激活我的环境后,我运行以下代码来安装它:

pip install sqlalchemy-migrate

我认为这个错误可能是由于几个模糊的原因而出现的,我想补充一下我经历过的另一个原因: 我在正确安装sqlalchemy migrate时遇到了同样的错误,猜猜看,它不起作用仅仅是因为我将迁移脚本文件命名为
migrate.py
,这与迁移包产生了一些冲突。 事实上,PyCharm警告我说:
“导入解析为其包含的文件…此检查检测应解析但不应解析的名称。”

I将迁移脚本重命名为
db_migrate.py
,一切正常。 我可以理解是什么问题,因为我有另一个项目,具有相同的设置,但与迁移sqlalchemy完美地工作,唯一的区别确实是文件名。。。 希望有一天这可能会对某人有所帮助…

我也遇到了同样的问题-“没有名为migrate.versioning的模块”,而且一切都比我们所说的要简单得多,您需要执行命令“run” 文件:db_create.py或文件:db_migrate.py(如果使用PyCharm)(不是从终端)。您将获得预期的输出:“新迁移另存为D:…有我的路径…\microblog\db\u repositort/versions/001\u migration.py 当前数据库版本:1“

运行:

   easy_install Flask-SQLAlchemy
安装炼金术

   sudo pip install flask-migrate

要安装flask migrate

是的,你完全正确,我一直都在虚拟环境中安装了该模块。啊!嗨,ALexandr,如果你能格式化你的答案,那么运行的命令,文件名和预期的输出,可以很容易地从文本中区分出来。
   easy_install Flask-SQLAlchemy
   sudo pip install flask-migrate