py2exe打包的wxPython应用程序抱怨神秘DLL 当我用一个最基本的“配置”将一个最小的Python 2.7.1/Wxpython程序(hello World)打包到 py2EXE < /C> >上并在一个原始的Windows 7 x32虚拟机上运行,保存“微软Visual C++ 2008可重分发程序包(x86)”时,我得到了无用的错误: Z:\>z:\wxhello\wxhello.exe Traceback (most recent call last): File "wxhello.py", line 1, in <module> File "wx\__init__.pyc", line 45, in <module> File "wx\_core.pyc", line 4, in <module> File "wx\_core_.pyc", line 12, in <module> File "wx\_core_.pyc", line 10, in __load ImportError: DLL load failed: The system cannot find the file specified. 更新:

py2exe打包的wxPython应用程序抱怨神秘DLL 当我用一个最基本的“配置”将一个最小的Python 2.7.1/Wxpython程序(hello World)打包到 py2EXE < /C> >上并在一个原始的Windows 7 x32虚拟机上运行,保存“微软Visual C++ 2008可重分发程序包(x86)”时,我得到了无用的错误: Z:\>z:\wxhello\wxhello.exe Traceback (most recent call last): File "wxhello.py", line 1, in <module> File "wx\__init__.pyc", line 45, in <module> File "wx\_core.pyc", line 4, in <module> File "wx\_core_.pyc", line 12, in <module> File "wx\_core_.pyc", line 10, in __load ImportError: DLL load failed: The system cannot find the file specified. 更新:,python,wxpython,py2exe,Python,Wxpython,Py2exe,cx\u Freeze生成的程序无法运行的问题通过在本地驱动器上运行解决了(在虚拟机上),而不是在网络共享上运行。我没有测试这是否也修复了py2exe的“二进制文件”。使用并高兴起来您可以使用它找出缺少的DLL并手动添加它。环境: OS: Windows-XP-5.1.2600-SP3 Python: 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] wxPython: 2.8.12.1 (msw-unic

cx\u Freeze
生成的程序无法运行的问题通过在本地驱动器上运行解决了(在虚拟机上),而不是在网络共享上运行。我没有测试这是否也修复了py2exe的“二进制文件”。

使用并高兴起来

您可以使用它找出缺少的DLL并手动添加它。

环境:

OS: Windows-XP-5.1.2600-SP3
Python: 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)]
wxPython: 2.8.12.1 (msw-unicode)
cx_Freeze: 4.2.3
资料来源:

import wx

class MainWindow(wx.Frame):
    def __init__(self, *args, **kwargs):
        wx.Frame.__init__(self, *args, **kwargs)

        self.panel = wx.Panel(self)
        self.button = wx.Button(self.panel, label="Hello WX!")

        self.sizer = wx.BoxSizer()
        self.sizer.Add(self.button)

        self.panel.SetSizerAndFit(self.sizer)  
        self.Show()

app = wx.App(False)
win = MainWindow(None)
app.MainLoop()
命令:

c:\Python27\Scripts\cxfreeze.bat hellowx.py
运行时没有错误,并在dist目录输出中生成以下文件:

bz2.pyd
gdiplus.dll
hellowx.exe
python27.dll
unicodedata.pyd
wx._controls_.pyd
wx._core_.pyd
wx._gdi_.pyd
wx._misc_.pyd
wx._windows_.pyd
wxbase28uh_net_vc.dll
wxbase28uh_vc.dll
wxmsw28uh_adv_vc.dll
wxmsw28uh_core_vc.dll
wxmsw28uh_html_vc.dll
这在Windows 7 Ultimate,6.1版,Build 7600虚拟机上运行,没有问题


我希望这有助于您确定安装中可能存在的任何问题或缺少的DLL。

您是如何使用cxFreeze的?我使用它运行位于
c:\Python27\Scripts\cxfreeze.bat的批处理文件,使用它和使用
cx\u Freeze
的Python脚本的
setup()
都有相同的结果
bz2.pyd
gdiplus.dll
hellowx.exe
python27.dll
unicodedata.pyd
wx._controls_.pyd
wx._core_.pyd
wx._gdi_.pyd
wx._misc_.pyd
wx._windows_.pyd
wxbase28uh_net_vc.dll
wxbase28uh_vc.dll
wxmsw28uh_adv_vc.dll
wxmsw28uh_core_vc.dll
wxmsw28uh_html_vc.dll