23

Python アプリを に変換するにはどうすればよい.exeですか? でプログラムを作ったのですが、tkinterそれを他の人が使えるようにするにはどうしたらよいか考えていました。Python 3.3 を使用しています。少し探しましたが、何も見つかりませんでした。

4

4 に答える 4

17

cx_Freeze はこれを行いますが、多くの依存関係を持つフォルダーを作成します。py2exeはこれを実行し、 --bundle-files 0 オプションを使用して EXE を 1 つだけ作成します。これはおそらく質問に対する最良の解決策です。

更新: py2exe が「検索」に問題を抱えていたサードパーティ製モジュールに遭遇した後、kotlet schabowy が以下に示唆するように、pyinstaller に移動しました。どちらにも十分なドキュメントがあり、コマンド ライン パラメーターで実行できる .exe が含まれていますが、pyinstaller がデバッグやヘッドスクラッチなしでは処理できないスクリプトをまだコンパイルしていません。

これは、インタープリターからデフォルトで .exe をビルドするために使用する簡単な便利な関数です (もちろん、バッチなどでも問題ありません)。

import subprocess,os
def exe(pyfile,dest="",creator=r"C:\Python34\Scripts\pyinstaller.exe",ico=r"C:\my icons\favicon.ico",noconsole=False):
    insert=""
    if dest: insert+='--distpath ""'.format(dest)
    else: insert+='--distpath "" '.format(os.path.split(pyfile)[0])
    if ico: insert+=' --icon="{}" '.format(ico)
    if noconsole: insert+=' --noconsole '
    runstring='"{creator}" "{pyfile}" {insert} -F'.format(**locals())
    subprocess.check_output(runstring)
于 2014-11-25T22:09:47.607 に答える
9

PyInstallerが最適に機能することがわかりました。たとえば、すべてを 1 つのファイル exe にパックできます。

Cythonと一緒に使用して高速化するのが大好きです。

于 2015-12-18T11:23:44.803 に答える
4

cx_Freezeを使用できます。ここにガイドがあります。

于 2013-07-28T10:36:54.517 に答える