1

wxPython で GUI を作成し、numpy と matplotlib を使用する関数を作成しました。最初に、MSVCP90.dll を要求しています。どういうわけかそれをダウンロードして、Python DLL に追加しました。これで、プロジェクトの .exe ファイルが生成されますが、機能しません。「cmd」を開くだけで、すぐに閉じます。プロジェクトのディレクトリ構造に問題があると思われます。

-- setup.py --

import py2exe, sys, os

setup(scripts=["Source\mainModule.py"],
  packages=[
    "Source",
    "Source.Packages_Needed",
    "Source.Packages_Needed.anomalyChecker",
    "Source.Packages_Needed.config",
    "Source.Packages_Needed.GUI_tools",
    "Source.Packages_Needed.parserTools",
    "Source.Packages_Needed.utilities",
    ],
  package_data={"Source.ltePackages.configuration" : ["*.txt"]},

)

-- setup.py --

-- プロジェクトのディレクトリ構造 --

project/
      setup.py
      Source/
           mainModule.py
           __init__.py
           packages_Needed/
               __init__.py
               anomalyChecker/
                    __init__.py
                    ACModule1.py
                    ACModule2.py
                    ACModule3.py
               config/
                    __init__.py
                    dictionary.txt
                    reference.txt
                    configMod1.py
                    configMod2.py
                    configMod3.py
               GUI_tools/
                    __init__.py
                    analyzerGUI.py
               parserTools/
                    __init__.py
                    parser.py
               utilities/
                    __init__.py
                    plotter.py

-- プロジェクトのディレクトリ構造 --

次の方法で python setup.py を実行しています。

     C:\\Path\\source> python setup.py py2exe

そのコマンドを実行した後、実行されていないdistに.exeファイルを取得しています..cmdを開いてすぐに終了します。

Python の初心者なので、2 つの疑問があります。

私の疑問のパート 1: .exe ファイルが機能しないのはなぜですか? 私のsetup.pyに間違いはありますか?もしそうなら、それを指摘してください。

私の疑問のパート-2:

これで、 MSVCP90.dll を追加しました。実行中の.exeを正常に作成した後、.exeを実行する場合、他のシステムはこのdllをpython dllにコピーする必要がありますか? そうなると、大変ご迷惑をおかけいたします。回避する方法を提案します。

前もって感謝します。

編集:私はパッケージを使用しています:matplotlibとnumpy。

4

1 に答える 1

1

私はpyqtのGUIで同じ問題を抱えています。このように使用していたpyqtモジュールを含めることで解決しました

setup(windows=[{"script":"myGuy.py",
  data_files = Mydata_files,
  options={"py2exe":{"includes":["sip", "PyQt4.QtCore","PyQt4.QtGui","PyQt4.QtNetwork"],'dist_dir': "myGuiNameDir"

}})

options 変数を追加し、使用している wxPython モジュールでリストを ["PyQt4.QtCore", "PyQt4.QtGui"] に置き換えてみてください。それがうまくいったかどうか教えてください。

また、dist という名前の dist ディレクトリにうんざりしている場合は、「dist dir」を使用して名前を変更できます。

于 2012-07-13T08:34:42.270 に答える