2009-02-24 29 views
19

Estoy jugando con algunas cosas básicas para trabajar en Python antes de entrar en el modo de desarrollo de velocidad máxima. Aquí están los detalles:py2exe + sqlalchemy + sqlite problema

Python 2.5.4 
PyQt4 4.4.3 
SqlAlchemy 0.5.2 
py2exe 0.6.9 
setuptools 0.6c9 
pysqlite 2.5.1 

setup.py:

from distutils.core import setup 
import py2exe 

setup(windows=[{"script" : "main.py"}], options={"py2exe" : {"includes" : ["sip", "PyQt4.QtSql","sqlite3"],"packages":["sqlite3",]}}) 

py2exe parece generar el archivo .exe correctamente, pero cuando ejecuto dist/main.exe me sale esto en el main.exe .log

Traceback (most recent call last): 
    File "main.py", line 18, in <module> 
    File "main.py", line 14, in main 
    File "db\manager.pyc", line 12, in __init__ 
    File "sqlalchemy\engine\__init__.pyc", line 223, in create_engine 
    File "sqlalchemy\engine\strategies.pyc", line 48, in create 
    File "sqlalchemy\engine\url.pyc", line 91, in get_dialect 
ImportError: No module named sqlite 

He estado buscando mi corazón, pero parece que no encuentro ninguna solución para esto. Si no puedo hacer que esto funcione ahora, mis esperanzas de usar Python para este proyecto se verán truncadas y volveré a utilizar Ruby ... (no es que haya nada malo con Ruby, solo quería usar este proyecto como una buena manera de enseñar a mí mismo Python)

Respuesta

29

es necesario incluir el paquete sqlalchemy.databases.sqlite

setup(
    windows=[{"script" : "main.py"}], 
    options={"py2exe" : { 
    "includes": ["sip", "PyQt4.QtSql"], 
    "packages": ["sqlalchemy.databases.sqlite"] 
}}) 
+1

Yo le daría +100 si pudiera :) Gracias –

+18

Para los que llegan a esta pregunta últimos años: sqlalchemy ya no tiene un paquete con este nombre; en cambio, parece ser 'sqlalchemy.dialects.sqlite'. –

+1

En adicción a la sugerencia de @ Brandon, para aquellos que usan Firebird encontré esta opción funcionando: '" paquetes ": [" sqlalchemy.dialects.firebird "," kinterbasdb "]' – bluish

5

necesita cambiar al paquete sqlalchemy.dialects.sqlite

configuración ( ventanas = [ {"script": "main.py"}], options = {"py2exe": { "includes": ["sip", "PyQt4.QtSql"], "paquetes": [ "sqlalchemy.dialects.sqlite"] }})