PythonスクリプトをWindowsのexeにする方法 (調査中)


このエントリーをはてなブックマークに追加

表題の方法について調べてみました。Python 3.5で動かすことが目標なのですが、ハマっていてまだ動いていません。以下、調査した内容のメモです。

py2exeを使う方法

py2exeは、Python 2系とPython 3系とで配布場所が異なります。

Python 2系の場合、py2exe download | SourceForge.netからインストーラをダウンロードしてインストールするようです。インストーラの日付が古いですが、2005年時点でpy2exeでPythonのスクリプトを実行ファイル(exe)にする【py2exe】 - ぴよぴよ.pyで動作報告があるので、おそらく動くはずです。

Python 3系の場合、py2exe 0.9.2.0 : Python Package Indexにあるように、pip install py2exeでインストールするようです。ただし、サイトにはPython 3.3 and later are supportedとあるにもかかわらず、Python 3.5では動きませんでした。他にも同様の報告があります(Is there a py2exe version that's compatible with python 3.5? - Stack Overflow)。

cx_Freezeを使う方法

cx_Freezeの現時点での公式リリースは4.3.4です。pip install cx_Freezeでインストールを試みましたが、ビルドでこけました。深追いしていません。

Is there a py2exe version that's compatible with python 3.5? - Stack Overflowの回答者の一人が、cx_Freezeの開発版(多分これ)がPython 3.5に対応していることに気付き、私家製版のビルドをGitHub - sekrause/cx_Freeze-Wheels: cx_Freeze 5.0 for Python 3.5 on Windowsで公開してくれています。これをインストールすれば、Python 3.5でcx_Freezeが使えるようになると思われますが、まだ試せていません。

PyInstallerを使う方法

Welcome to PyInstaller official websiteによると、Python 2.7 and 3.3—3.5に対応しているそうです。pip install pyinstallerでpyinstaller-3.2がインストールできるところまで確認しました。

(追記) PyInstallerでPythonスクリプトをexe化 - minus9d's diaryに、exe化の方法をまとめました。現時点で多少のワークアラウンドが必要です。