Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python py2exe+;sqlalchemy+;sqlite问题_Python_Sqlite_Sqlalchemy_Py2exe - Fatal编程技术网

Python py2exe+;sqlalchemy+;sqlite问题

Python py2exe+;sqlalchemy+;sqlite问题,python,sqlite,sqlalchemy,py2exe,Python,Sqlite,Sqlalchemy,Py2exe,在进入全速开发模式之前,我正在尝试用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" : {"

在进入全速开发模式之前,我正在尝试用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
回溯(最近一次呼叫最后一次):
文件“main.py”,第18行,在
文件“main.py”,第14行,在main中
文件“db\manager.pyc”,第12行,在_init中__
文件“sqlalchemy\engine\\ uuuuu init\ uuuuu.pyc”,第223行,在create\ u engine中
文件“sqlalchemy\engine\strategies.pyc”,第48行,在create中
文件“sqlalchemy\engine\url.pyc”,第91行,get_方言
ImportError:没有名为sqlite的模块

我一直在用谷歌搜索我的心,但似乎找不到任何解决办法。如果我现在不能让它工作,我希望在这个项目中使用Python的希望将破灭,我将重新开始使用Ruby。。。(不是说Ruby有什么问题,我只是想用这个项目作为自学Python的好方法)

您需要包括sqlalchemy.databases.sqlite包

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

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

setup(
  windows=[{"script" : "main.py"}],
  options={"py2exe" : {
    "includes": ["sip", "PyQt4.QtSql"],
    "packages": ["sqlalchemy.databases.sqlite"]
}})
设置( windows=[{“脚本”:“main.py”}], 选项={“py2exe”:{ “包括”:[“sip”,“PyQt4.QtSql”], “包”:[“sqlalchemy.dialogs.sqlite”]
}})

如果可以的话,我会给你+100:)感谢多年后提出这个问题的人:sqlalchemy不再有这个名字的软件包;相反,它似乎是
sqlalchemy.dialogs.sqlite
。在@Brandon的提示中,对于那些使用Firebird的人,我发现这个选项起作用:
“包”:[“sqlalchemy.dialogs.Firebird”,“kinterbasdb”]
对于那些使用MySQL的人,你需要有
“ascii”:0
“包”:[“sqlalchemy.dialogs.MySQL”,“MySQLdb”]
在py2exe字典中。用于python2.7和sqlalchemy.7