【问题标题】:Py2Exe, Sqlite - Not a valid Win 32 ApplicationPy2Exe、Sqlite - 不是有效的 Win 32 应用程序
【发布时间】:2014-06-03 20:30:24
【问题描述】:

我有一个尝试使用 Py2Exe 打包的 Python 程序。我正在使用 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'
    ]}} )

【问题讨论】:

    标签: python dll sqlite py2exe


    【解决方案1】:

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

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

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

    这对我有用。希望对其他人有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-07
      • 1970-01-01
      • 2010-10-01
      • 2013-11-03
      相关资源
      最近更新 更多