Подтвердить что ты не робот

Невозможно инициализировать Elixir

Я начинаю с Elixir и SQL Alchemy. Я создал файл python, связанный с базой данных Mysql, но как только я выполню с помощью python, я получу ошибку ниже:

[email protected]:/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:[email protected]/yonkiPOPS'
session.bind.echo = True
setup_all()
create_all()

Я думаю, что это возможно из-за того, что модуль не установлен, но я не знаю, какой из них.

4b9b3361

Ответ 1

Просто откройте файл. /elixir/entity.py, найдите строку импорта следующим образом:

from sqlalchemy.orm import ScopedSession, \

затем настройте его на:

from sqlalchemy.orm import scoped_session as ScopedSession, \

Ответ 2

Elixir 0.7.1 кажется несовместимым с последней версией SQLalchemy 0.8. Вы можете решить эту проблему с помощью

sudo pip install SQLAlchemy==0.7.8

Ответ 4

Если вы еще не сможете обновлять свои библиотеки из репозиториев или не имеете корневого доступа для изменения файла, просто используйте это в своем файле:

import sqlalchemy.orm
sqlalchemy.orm.ScopedSession = sqlalchemy.orm.scoped_session

перед

from elixir import *