Вопрос

Я играю с тем, чтобы заставить некоторые базовые вещи работать на 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)

Это было полезно?

Решение

вам необходимо включить пакет sqlalchemy.databases.sqlite

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top