Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.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,Sqlite-不是有效的Win 32应用程序_Python_Dll_Sqlite_Py2exe - Fatal编程技术网

Python Py2Exe,Sqlite-不是有效的Win 32应用程序

Python Py2Exe,Sqlite-不是有效的Win 32应用程序,python,dll,sqlite,py2exe,Python,Dll,Sqlite,Py2exe,我有一个Python程序,我正试图使用Py2Exe对其进行打包。我正在使用Python 3.4。我的程序使用Sqlachemy和Sqlite3来创建和访问数据库 从Py2Exe安装生成的文件时,出现dll错误: Sqlite不是有效的Win32应用程序 我尝试过这里列出的各种解决方法,包括卸载python和重新安装所有模块,以确保只有32位版本。有什么想法吗 下面列出了我的setup.py代码。它使用了sqlite列出的一些变通方法,以及sqlalchemy的一些方法 from distutil

我有一个Python程序,我正试图使用Py2Exe对其进行打包。我正在使用Python 3.4。我的程序使用Sqlachemy和Sqlite3来创建和访问数据库

从Py2Exe安装生成的文件时,出现dll错误:

Sqlite不是有效的Win32应用程序

我尝试过这里列出的各种解决方法,包括卸载python和重新安装所有模块,以确保只有32位版本。有什么想法吗

下面列出了我的setup.py代码。它使用了sqlite列出的一些变通方法,以及sqlalchemy的一些方法

from distutils.core import setup
import py2exe

setup(console = ['notetest.py'], 
    options = {'py2exe' : {'packages' : [
    'reportlab',
    'reportlab.graphics.charts',
    'reportlab.graphics.samples',
    'reportlab.graphics.widgets',
    'reportlab.graphics.barcode',
    'reportlab.graphics',
    'reportlab.lib',
    'reportlab.pdfbase',
    'reportlab.pdfgen',
    'reportlab.platypus',
    'sqlalchemy.dialects.sqlite',
    #'sqlalchemy.databases.sqlite',
    'sqlite3'
    ]}} )

好的,所以我不确定这是否是一个真正“有效”的解决方法,但它是有效的,而且相当简单

我从下载了最新的Sqlite dll。我只是用这个更新的文件替换了Py2Exe生成的Sqlite dll,程序运行得非常好

我还使用InnoSetup来编译MSI安装程序,因此可以简单地将“较新的”dll复制到预编译目录中,以包含在MSI安装程序中

这对我有用。希望它能帮助别人