Ped*_*dia 10 python mysql sqlalchemy python-elixir
我是从Elixir和SQL Alchemy开始的.我已经创建了一个连接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
Run Code Online (Sandbox Code Playgroud)
我一直在寻找它,但我找不到原因.这是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()
Run Code Online (Sandbox Code Playgroud)
我认为这可能是由于未安装所需的模块但我不知道哪一个.
Luc*_*zzi 15
Elixir 0.7.1似乎与SQLalchemy的最新版本0.8不兼容.你可以解决这个问题
sudo pip install SQLAlchemy==0.7.8
Run Code Online (Sandbox Code Playgroud)
只需打开./elixir/entity.py,找到如下导入行:
from sqlalchemy.orm import ScopedSession, \
Run Code Online (Sandbox Code Playgroud)
然后将其调整为:
from sqlalchemy.orm import scoped_session as ScopedSession, \
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3323 次 |
| 最近记录: |