py2exe + SQLAlchemy + problema SQLite
-
06-09-2019 - |
Domanda
sto giocando intorno con ottenere un certo roba di base per lavorare in Python prima di andare in modalità full dev velocità. Ecco le specifiche:
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 appare per generare correttamente il file exe, ma quando eseguo dist / main.exe ottengo questo nel 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
Sono stato googling il mio cuore, ma non riesco a trovare alcuna soluzione a questo. Se non riesco a farlo funzionare ora, le mie speranze di utilizzare Python per questo progetto saranno deluse e io ricominciare da capo con Rubino ... (non che ci sia qualcosa di sbagliato con Ruby, volevo solo utilizzare questo progetto come un buon modo per insegnare a me stesso Python)
Soluzione
è necessario includere il pacchetto sqlalchemy.databases.sqlite
setup(
windows=[{"script" : "main.py"}],
options={"py2exe" : {
"includes": ["sip", "PyQt4.QtSql"],
"packages": ["sqlalchemy.databases.sqlite"]
}})
Altri suggerimenti
è necessario cambiare al pacchetto sqlalchemy.dialects.sqlite
setup ( finestre = [{ "script": "main.py"}], Opzioni = { "py2exe": { "Comprende": [ "SIP", "PyQt4.QtSql"], "pacchetti": [ "sqlalchemy.dialects.sqlite"] }})