"来自sqlalchemy导入活动"不工作

时间:2015-03-11 22:42:20

标签: python flask sqlalchemy flask-sqlalchemy

我收到错误:

MacBook-Pro:microblog_3 olehdubno$ python db_create.py 
Traceback (most recent call last):
  File "db_create.py", line 5, in <module>
    from app import db
  File "/Users/olehdubno/Desktop/microblog_3/app/__init__.py", line 2, in <module>
    from flask.ext.sqlalchemy import SQLAlchemy
  File "/usr/local/lib/python2.7/site-packages/flask/exthook.py", line 81, in load_module
    reraise(exc_type, exc_value, tb.tb_next)
  File "/usr/local/lib/python2.7/site-packages/flask_sqlalchemy/__init__.py", line 24, in <module>
    from sqlalchemy import orm, event
ImportError: cannot import name event   

我正在从事第四部分:数据库:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iv-database

我的github代码:https://github.com/odubno/microblog

我做的任何事情,都无法导入事件。简单地尝试from sqlalchemy import event也不起作用。

Flask==0.10.1
Flask-Restless==0.17.0
Flask-SQLAlchemy==2.0
Flask-WTF==0.11
GraphLab-Create==1.1
Jinja2==2.7.3
MarkupSafe==0.23
Pillow==2.7.0
SQLAlchemy==0.6.8
Tempita==0.5.2
WTForms==2.0.2
Werkzeug==0.10.1
argparse==1.2.1
backports.ssl-match-hostname==3.4.0.2
blaze==0.6.0
boto==2.33.0
daemonize==2.3.1
decorator==3.4.0
folium==0.1.2
geopy==1.4.0
george==0.2.1
ggplot==0.6.5
itsdangerous==0.24
librato-metrics==0.4.9
mimerender==0.5.5
mixpanel-py==3.1.1
nltk==3.0.0
nose==1.3.4
numpy==1.8.2
oauthlib==0.7.2
pandas==0.14.1
patsy==0.3.0
prettytable==0.7.2
psycopg2==2.5.4
pyparsing==2.0.3
pyshp==1.2.1
python-dateutil==2.4.1
python-mimeparse==0.1.4
pytz==2014.7
requests==2.3.0
requests-oauthlib==0.4.2
scikit-learn==0.15.1
six==1.9.0
sqlalchemy-migrate==0.7.2
suds==0.4
sympy==0.7.5
textblob==0.9.0
tornado==3.2.1
twitter==1.15.0
vboxapi==1.0
virtualenv==1.11.6
wsgiref==0.1.2
xlrd==0.9.3
xlwt==0.7.5

2 个答案:

答案 0 :(得分:4)

Events were added到版本0.7的SQLAlchemy。您使用的是0.6.8版。升级将修复您的ImportError

pip install -U sqlalchemy

0.7版于几年前发布。 0.9.9是最近的(在这个答案的时候)。除非你特别需要0.6,否则升级应该是值得的。

答案 1 :(得分:0)

我尝试了pip install -U sqlalchemy,奇怪的是它仍然没有解决问题。

什么工作,我忘了使用是virtualenv。

一旦我使用以下方法在终端中激活了virtualenv:

$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$ source venv/bin/activate
(venv)$ python

我跟进了:

pip install sqlalchemy

按照教程,我在virtualenv中安装了其余的扩展,现在一切正常。