Я работаю над учебником по фляге и пытаюсь запустить скрипт, который создает базу данных, а не выполняет ее через командную строку. Он использует пакет миграции SQLAlchemy-migrate, но когда я пытаюсь запустить скрипт, он дает ImportError.Flask - ImportError: Нет модуля с именем migrate.versioning
Это терминал вывода:
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')
Это приложение с виртуальной средой. Это есть модуль, который относится к нему, что я установил в окружающей среде:
sqlalchemy_migrate-0.7.2-py2.7.egg-инфо
Любая помощь оценили
Да вы совершенно правы, я имел модуль, установленный в виртуальной среде все вместе. Doh! –