Pergunta

Eu estou brincando com a obtenção de algumas coisas básicas para trabalhar em Python antes de eu ir para o modo de dev velocidade máxima. Aqui estão os detalhes:

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 aparece para gerar o arquivo .exe corretamente, mas quando eu executar dist / main.exe eu recebo este na 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

Estive pesquisando meu coração, mas não consigo encontrar alguma solução para isso. Se eu não posso chegar a este trabalho agora, minhas esperanças de usar Python para este projecto serão frustradas e eu vou começar de novo usando Ruby ... (não que haja algo de errado com Ruby, eu só queria usar esse projeto como uma boa maneira de ensinar-me Python)

Foi útil?

Solução

você precisa incluir o pacote sqlalchemy.databases.sqlite

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

Outras dicas

Você precisa mudar para pacote sqlalchemy.dialects.sqlite

setup ( janelas = [{ "script": "main.py"}], options = { "py2exe": { "Inclui": [ "saborear", "PyQt4.QtSql"], "pacotes": [ "sqlalchemy.dialects.sqlite"] }})

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top