Python Flask-ImportError:没有名为migrate.versioning的模块
我正在学习flask教程,并尝试运行一个创建数据库的脚本,而不是通过命令行。它使用SQLAlchemy迁移包,但当我尝试运行脚本时,它会给出一个提示 这是终端输出: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
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