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

Проблема py2exe + sqlalchemy + sqlite

Я играю вокруг, получая некоторые базовые вещи для работы на Python, прежде чем перейти в полноскоростной режим. Вот специфика:

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, похоже, корректно генерирует файл .exe, но когда я выполняю dist/main.exe, я получаю это в 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

Я искал свое сердце, но, похоже, не нашел никаких решений. Если я не могу заставить это работать сейчас, мои надежды на использование Python для этого проекта будут разбиты, и я начну с использования Ruby... (не в том, что с Ruby что-то не так, я просто хотел использовать этот проект как хороший способ научить себя Python)

4b9b3361

Ответ 1

вам нужно включить пакет sqlalchemy.databases.sqlite

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

Ответ 2

вам нужно внести изменения в пакет sqlalchemy.dialects.sqlite

Настройка ( windows = [{ "script": "main.py" }], options = { "py2exe": {    "включает": [ "sip", "PyQt4.QtSql" ],    "пакеты": [ "sqlalchemy.dialects.sqlite" ] }})