web-dev-qa-db-ja.com

Python依存関係を含むアプリケーションをバンドルするには?

pythonアプリケーション、その依存関係、およびpythonを単一のMSIインストーラーにパッケージ化する必要があります。最終結果は次のようになります。

  • Pythonは標準の場所にインストールされます
  • パッケージとその依存関係は、別のディレクトリにインストールされます(サイトパッケージの場合があります)
  • インストールディレクトリにはpython非圧縮ファイルが含まれている必要があり、スタンドアロンの実行可能ファイルは不要です
51
Florian Bösch

pythonを実行可能ファイルにする

要約すると:

py2exe Windows、 Freeze Linux、および py2app Mac。

25
pjz

PyInstaller (svnバージョン)を使用して、Pythonおよびすべての依存関係を含む、スタンドアロンバージョンのプログラムを作成します。取得するには少し手間がかかります。正しく動作し、すべてを含めるために(py2exeや他の同様のプログラムと同様に、 この質問 を参照)、それは非常にうまく機能します。

次に、インストーラーを作成する必要があります。 [〜#〜] nsis [〜#〜] これには最適であり、無料ですが、.msiではなく.exeファイルを作成します。 .msiが不要な場合は、強くお勧めします。それ以外の場合は、他のオプションについて this 質問への回答を確認してください。

17
dF.

私の会社は無料のInnoSetupツールを使用しています。 Windows用のインストーラーを構築するための柔軟性が非常に高い、適度に複雑なプログラムです。ただし、.msiファイルではなく.exeファイルを作成すると考えています。 InnoSetupは特定ではありませんpython特定の製品ですが、インストール時にユーザーが指定した場所への依存関係とともにpythonをインストールする製品のインストーラーを作成しました。

4
Mike

pyinstaller を使用して依存関係とカスタムフォルダー構造を作成すると、numpyやscipyなどのより大きな依存関係の非表示のインポートとフックを検索して指定できます。ただし、PITAも。

3
wwwslinger

py2exe は、pythonがバンドルされたWindows実行可能ファイルを作成します。

3
William Keller

OK、私は以前にpy2exeを使用しましたが、1つのことを除いて完全に動作します...実行可能なWindowsマシンでのみ動作します。次に、pythonスクリプトを.Jarファイルに変換するJythonについて学びました。ご存知のとおり、これはJava( "To your unix、windows、iosの両方(ほとんどの場合)Javaを実行するため、これは素晴らしいことです。これは、次のすべてのマシンから実行可能になることを意味します。Javaを実行する限り、「py2mac + py2exe + freeze "すべてのオペレーティングシステムで実行するためだけ。Jythonだけ

仕組みと使用方法の詳細については、ここをクリックしてください。
http://www.jython.org/

これを行うには、py2exeが最適な方法です。使用するのは少しPITAですが、最終結果は非常にうまく機能します。

1
Cody Brocious