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 ボックスにコピーしたときの出力はまったく機能しません。WindowsではなくCentOS用のファイルを作成しています! Linux ボックスでスクリプトを実行しているので、当然のことです。Windows で cxfreeze を実行すると、出力にいくつかの DLL ファイルが含まれます。いずれにせよ、Windows で生成された exe を実行すると、動作します。作成したファイルを CentOS で実行すると、機能します。しかし、その OS 用に生成されたファイルを別の OS にコピーしようとしても、うまくいきません。

于 2013-03-21T14:09:21.973 に答える