19

在我进入全速开发模式之前,我正在尝试让一些基本的东西在 Python 中工作。以下是具体情况:

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

设置.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 的好方法)

4

2 回答 2

30

你需要包括 sqlalchemy.databases.sqlite 包

setup(
  windows=[{"script" : "main.py"}],
  options={"py2exe" : {
    "includes": ["sip", "PyQt4.QtSql"],
    "packages": ["sqlalchemy.databases.sqlite"]
}})
于 2009-02-24T16:49:55.837 回答
5

您需要更改为 sqlalchemy.dialects.sqlite 包

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

于 2011-02-24T10:43:19.180 回答