我从Elixir和SQL炼金术开始。我已经创建了一个连接Mysql数据库的python文件,但一旦我使用python执行,我就会得到以下错误:
root@raspberrypi:/Python/mainFlask/yonkiPOPS# python yonki.py
Traceback (most recent call last):
File "yonki.py", line 1, in <module>
from elixir import metadata, Entity, Field
File "/usr/local/lib/python2.7/dist-packages/Elixir-0.7.1-py2.7.egg/elixir/__init__.py", line 29, in <module>
from elixir.entity import Entity, EntityBase, EntityMeta, EntityDescriptor, \
File "/usr/local/lib/python2.7/dist-packages/Elixir-0.7.1-py2.7.egg/elixir/entity.py", line 17, in <module>
from sqlalchemy.orm import MapperExtension, mapper, object_session, \
ImportError: cannot import name ScopedSession我一直在找,但是我找不到原因。这是yonki.py文件:
from elixir import metadata, Entity, Field
from elixir import Unicode, UnicodeText
from elixir import *
class User(Entity):
username = Field(String(64))
metadata.bind = 'mysql://root:nomasandroid42@localhost/yonkiPOPS'
session.bind.echo = True
setup_all()
create_all()我认为这可能是由于一个必需的模块没有安装,但我不知道是哪一个。
发布于 2013-07-29 11:25:43
只需打开./elixir/entity.py,找到如下导入行:
from sqlalchemy.orm import ScopedSession, \然后将其调整为:
from sqlalchemy.orm import scoped_session as ScopedSession, \发布于 2013-01-12 15:29:16
Elixir 0.7.1似乎与最新版本的SQLalchemy 0.8不兼容。您可以使用以下命令来解决该问题
sudo pip install SQLAlchemy==0.7.8发布于 2013-05-28 02:45:59
似乎sqlalchemy0.8更改了ScopedSession的位置
http://elixir.ematia.de/trac/ticket/121
https://stackoverflow.com/questions/14201210
复制相似问题