1. ホーム
  2. python

[解決済み] Pythonのプログラムを配布するにはどうしたらいいですか?

2022-10-20 23:22:32

質問

私のアプリケーションは次のようなものです。

main.py
windows/
    __init__.py
    mainwindow.py
    ...
モデル/
    __init__.py
    orders.py
    ...
resources/
    画像1.png
    ロゴ.jpg
    ...

プログラムはmain.pyで開始されます。そこから'最終的な'アプリケーションを作る良い方法はないでしょうか?私はpy2exe/py2appのようなものを考えていますが、pythonインタプリタ/モジュールをアプリケーションにコピーせず、実行ファイルを1つだけ持っています。

私はdistutilsを見ましたが、これはPythonディレクトリにプログラムをインストールするように見え、それは非Linuxプラットフォームでは普通ではありません。

今のところ、私はソース フォルダ全体をターゲット マシンにコピーして、エイリアスを作成して main.pyw へのエイリアスを作成します。いくつかの不便な点があります。

  • アイコンはデフォルトの python アイコンです。
  • エイリアスを手動で作成しなければならない。
  • 私のソースディレクトリには、ソースコントロールフォルダのような多くの追加ファイルがあります。
  • 私は名前を変更する必要があります main.pymain.pyw を手動で設定します。
  • ターゲットマシーンには `.pyo* ファイルだけがあればいいのですが。特に理由はないのですが、不要なファイルを持つのは好きではありません。

どのようにして自動配布を作成するのですか?

  • は Windows 用ですか? (それは私が今のところサポートしなければならない唯一のプラットフォームです)。
  • mac 用?
  • linux用?

どのように解決するには?

Pythonアプリケーションを配布する通常の方法は distutils . これはライブラリタイプの Python モジュールと Python アプリケーションの両方を配布するために作られましたが、Windows でどのように動作するかはわかりません。Windows で distutils を使用する場合は、いずれにせよ Python を別途インストールする必要があります。

Linux では disutils で、Windows では Py2exe かそれに類するもので配布することをお勧めします。OS X についてはわかりません。もしそれがエンドユーザーアプリケーションなら、おそらくディスクイメージのようなものが必要でしょう、私はそれをどのように行うか知りません。でも、以下の記事を読んでください。 この投稿 を読んでください。プログラマのために作られたアプリケーションの場合、OS X でも distutils タイプのインストールで大丈夫でしょう。