Pythonアプリケーション、その依存関係、およびPythonを単一のMSIインストーラーにパッケージ化する必要があります。最終結果は、望ましくは次のようになります。
- Pythonは標準の場所にインストールされています
- パッケージとその依存関係は別のディレクトリ(おそらくサイトパッケージ)にインストールされます
- インストールディレクトリには非圧縮のPythonが含まれている必要があり、スタンドアロンの実行可能ファイルは必要ありません
PyInstaller (svnバージョン)を使用して、Pythonとすべての依存関係を含むスタンドアロンバージョンのプログラムを作成します。それを正しく機能させてすべてを含めるには少し手間がかかりますが(py2exeや他の同様のプログラムと同様に、この質問を参照してください)、それでも非常にうまく機能します。
次に、インストーラーを作成する必要があります。NSISはそのためにうまく機能し、無料ですが、.msiではなく.exeファイルを作成します。.msiが必要ない場合は、それを強くお勧めします。それ以外の場合は、他のオプションについてこの質問への回答を確認してください。
私の会社では、無料の InnoSetup ツールを使用しています。これは、Windows 用のインストーラーを構築するための柔軟性が非常に高い、適度に複雑なプログラムです。ただし、.msi ファイルではなく .exe が作成されると思います。InnoSetup は python 固有のものではありませんが、インストール時にユーザーが指定した場所に依存関係と共に python をインストールする製品の 1 つのインストーラーを作成しました。
py2exeは、PythonがバンドルされたWindows実行可能ファイルを作成します。
py2exeはこれを行うための最良の方法です。使用するのは少しPITAですが、最終結果は非常にうまく機能します。
わかりました、以前にpy2exeを使用したことがありますが、1つのことを除いて完全に機能します...実行可能なWindowsマシンでのみ機能します。次に、Python スクリプトを .Jar ファイルに変換する Jython について学びました。ご存知のように、Java (「最新の実行バージョンへ」) がインストールされている任意のマシンから実行可能です。unix、windows、および ios (ほとんどの場合) の両方で java を実行するため、これは素晴らしいことです。これは、次のすべてのマシンから実行可能であることを意味します。彼らがJavaを実行している限り。すべてのオペレーティング システムで実行するためだけに「py2mac + py2exe + freeze」を実行する必要はありません。ただのJython
仕組みと使用方法の詳細については、ここをクリックしてください。
http://www.jython.org/