py2exeを使用せずにPythonプログラムを.exeファイルに変換する方法を探しています。py2exeは、古いPython2.6が必要だと言っています。エンドユーザーがPythonをインストールしなくても、Pythonプログラムを配布できるようにする方法はありますか?
9 に答える
Python のすべての「フリーズ」アプリケーションは、コードを実際に保護するわけではないことを理解してください。スタンドアロンの実行可能な Python 'プログラム' のすべてのパッケージング システムには、多数の Python ライブラリとインタープリターが含まれるため、プログラムがかなり大きくなります。
そうは言っても、PyInstallerは、私が投げかけたすべてのことでほぼ完璧な仕事をしました。現在、Python 2.7 までしかサポートしていませんが、大小さまざまなライブラリ セットに対する Pyinstaller のサポートは、他の Python 用の「フリーズ」タイプのプログラムでは比類のないものです。
cx_Freeze を使用します。Python 2 および 3 で動作し、Windows、Mac、および Linux で動作することをテストしました。
cx_Freeze: http://cx-freeze.sourceforge.net/
一部の人々は PyInstaller について非常によく話します
Python 3.2 でcx-freezeを使用しましたが、良い結果が得られました。
単純な py スクリプトの場合は、こちらを参照してください
GUIの場合:
$ pip3 install cx_Freeze
1) setup.py ファイルを作成し、変換したい .py ファイルと同じディレクトリに置きます。
2) setup.py に次の行をコピーして貼り付け、「filename.py」を指定したファイル名に変更します。
from cx_Freeze import setup, Executable
setup(
name="GUI PROGRAM",
version="0.1",
description="MyEXE",
executables=[Executable("filename.py", base="Win32GUI")],
)
3) setup.py "$python setup.py build" を実行します。
4)そこに「build」という名前の新しいディレクトリが作成されます。その中に、.exe ファイルを直接起動できる状態にします。(画像ファイルやその他の外部ファイルを必ずビルド ディレクトリにコピーして貼り付けてください)
py2exeはPython2.7(および他のバージョン)で動作します。あなたはただ必要ですMSVCR90.dll
これには2つの選択肢があります。
- Python2.6へのダウングレード。これはバックトラックであり、スクリプトのごく一部を無効にする可能性があるため、一般的には望ましくありません。
- 2番目のオプションは、何らかの形式の
exe
コンバーターを使用することです。pyinstaller
最良の結果が得られるようですので、お勧めします。
私は過去にpy2exeを使用しており、非常に満足しています。特にcx-freeze の使用はあまり好きではありませんでしたが、