1

我是 python 新手,我在 linux 机器上使用 python 和 wxpython 编写了脚本。现在我想将 .py 转换为 .exe ,为此我使用了 cxfreeze。创建exe的步骤

        $ python setup.py build
        $ python setup.py install
        $ python pip cxfreeze
        $ cxfreeze script.py

但是当我在其他系统中执行“./script(exe)”时,我得到了这个错误:

 File "/usr/local/lib/python2.7/dist-packages/cx_Freeze/initscripts/Console.py", line 27, in <module>
 File "script.py", line 3, in <module>
 File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/__init__.py", line 45, in <module>
 File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 4, in <module>
 File "ExtensionLoader_wx__core_.py", line 18, in <module>
 ImportError: No module named None
4

1 回答 1

0

我只是尝试使用以下简单的 wxPython 应用程序在 CentOS 上使用 cxfreeze:

import wx

########################################################################
class MyFrame(wx.Frame):
    """"""

    #----------------------------------------------------------------------
    def __init__(self):
        """Constructor"""
        wx.Frame.__init__(self, None, title="Test EXE", size=(1024, 768))
        panel = wx.Panel(self)

        lbl = wx.StaticText(panel, label="This is a binary program!")


if __name__ == "__main__":
    app = wx.App(False)
    frame = MyFrame()
    frame.Show()
    app.MainLoop()

复制到 Windows 7 框时的输出根本不起作用。它是为 CentOS 而不是 Windows 创建文件!毫不奇怪,因为我在 Linux 机器上运行脚本。如果你在 Windows 上运行 cxfreeze,你最终会在你的输出中得到一些 DLL 文件。无论哪种方式,当您运行它在 Windows 上生成的 exe 时,它​​都可以工作。当您在 CentOS 上运行它创建的文件时,它可以工作。但是,如果您尝试将针对该操作系统生成的文件复制到不同的操作系统,它就不起作用。

于 2013-03-21T14:09:21.973 回答