2013-01-07 16 views
10

Inizio con Elixir e SQL Alchemy. Ho creato un file python collegamento con un database MySQL per ma non appena eseguo con python ottengo l'errore sotto:Impossibile inizializzare Elixir

[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 

Ho cercato per esso, ma non trovo il motivo. Questo è il file 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() 

Credo che sia forse a causa di un modulo di richiesta non è installato, ma non so quale.

+0

Migliora prima il tuo tasso di accettazione –

risposta

7

Basta aprire la ./elixir/entity.py, trovare la linea di importazione in questo modo:

from sqlalchemy.orm import ScopedSession, \ 

quindi regolare a:

from sqlalchemy.orm import scoped_session as ScopedSession, \ 
15

Elixir 0.7.1 sembra essere incompatibile con l'ultima versione di SQLalchemy, 0.8. È possibile risolvere il problema con

sudo pip install SQLAlchemy==0.7.8 
1

Se wan't di essere ancora in grado di aggiornare le librerie dai repository, o non hanno accesso root per modificare il file, basta usare questo nel file:

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

prima

from elixir import * 
Problemi correlati