py2exe が実行ファイルの生成に失敗する 質問する

py2exe が実行ファイルの生成に失敗する 質問する

私は XP で Python 2.6 を使用しています。py2exe をインストールしたところ、hello.py から単純な hello.exe を正常に作成できました。しかし、実際のプログラムで py2exe を使用しようとすると、py2exe はいくつかの情報メッセージを生成しますが、dist フォルダーに何も生成されません。

私の setup.py は次のようになります:

from distutils.core import setup
import py2exe

setup(console=['ServerManager.py'])

py2exe の出力は次のようになります。

python setup.py py2exe
running py2exe
creating C:\DevSource\Scripts\ServerManager\build
creating C:\DevSource\Scripts\ServerManager\build\bdist.win32
   ...
   ...
creating C:\DevSource\Scripts\ServerManager\dist
*** searching for required modules ***
*** parsing results ***
creating python loader for extension 'wx._misc_' (C:\Python26\lib\site-packages\wx-2.8-msw-unicode\wx\_misc_.pyd -> wx._misc_.pyd)
creating python loader for extension 'lxml.etree' (C:\Python26\lib\site-packages\lxml\etree.pyd -> lxml.etree.pyd)
   ...
   ...
creating python loader for extension 'bz2' (C:\Python26\DLLs\bz2.pyd -> bz2.pyd)
*** finding dlls needed ***

py2exe はすべてのインポートを見つけたようです (ただし、明示的にインポートしていないため、win32 が言及されているのには少し驚きました)。また、プログラムは次のコマンドで問題なく起動します。

python ServerManager.py

明らかに何か根本的な間違いを犯していますが、py2exe からエラー メッセージが表示されないので、何が間違っているのかわかりません。

ベストアンサー1

私はこれをすべての setup.py スクリプトに組み込みました:

distutils.core.setup(
    options = {
        "py2exe": {
            "dll_excludes": ["MSVCP90.dll"]
        }
    },
    ...
)

これにより、py2exe は静かになりますが、dll がユーザーのマシン上にあることを確認する必要があります。

おすすめ記事