Python Language
PyInstaller - Pythonコードの配布
サーチ…
構文
- pyinstaller [options]スクリプト[script ...] | specfile
備考
PyInstallerは、すべての依存関係とともにPythonアプリケーションを1つのパッケージにバンドルするために使用されるモジュールです。ユーザーは、Pythonインタプリタやモジュールなしでパッケージアプリを実行できます。 numpy、Django、OpenCvなどの多くの主要パッケージを正しくバンドルしています。
覚えておくべき重要なポイント:
- PyinstallerはPython 2.7およびPython 3.3+をサポートしています
- PyinstallerはWindows、Linux、Mac OS Xでテスト済みです。
- クロスコンパイラではありません 。 (WindowsアプリケーションはLinuxにパッケージ化することはできません.PyInstallerをWindowsで実行してWindows用のアプリケーションをバンドルする必要があります)
インストールとセットアップ
Pyinstallerは通常のPythonパッケージです。それはピップを使用してインストールすることができます:
pip install pyinstaller
Windowsでのインストール
Windowsの場合、 pywin32またはpypiwin32は前提条件です。後者はpyinstallerをpipでインストールすると自動的にインストールされます。
Mac OS Xでのインストール
PyInstallerは、現在のMac OS Xで提供されているデフォルトのPython 2.7で動作します。Pythonのそれ以降のバージョンを使用する場合や、PyQT、Numpy、Matplotlibなどの主要なパッケージを使用する場合は、 MacPortsまたはHomebrewのいずれかです。
アーカイブからのインストール
pipが利用できない場合は、 PyPIから圧縮されたアーカイブをダウンロードしてください。
開発バージョンをテストするには、 PyInstaller Downloadsページの開発ブランチから圧縮アーカイブをダウンロードしてください。
アーカイブを展開し、 setup.pyスクリプトを探します。 PyInstallerをインストールまたはアップグレードpython setup.py install 、 python setup.py install with administrator権限を実行します。
インストールの確認
pyinstallerコマンドは、インストールが正常に完了した後、すべてのプラットフォームのシステムパス上に存在する必要があります。
コマンドラインでpyinstaller --versionと入力して確認します。これにより、現在のバージョンのpyinstallerが印刷されます。
Pyinstallerの使用
最も単純なユースケースでは、ファイルがあるディレクトリに移動し、次のように入力します。
pyinstaller myfile.py
Pyinstallerはファイルを分析し、以下を作成します。
- 同じディレクトリにあるファイルmyfile.spec
myfile.py -
myfile.pyと同じディレクトリにあるビルドフォルダ -
myfile.pyと同じディレクトリにあるdistフォルダ - ビルドフォルダのログファイル
バンドルされたアプリはdistフォルダにあります
オプション
pyinstallerにはいくつかのオプションがあります。オプションの完全なリストはここで見つけることができます 。
一旦バンドルされると、あなたのアプリは 'dist \ myfile \ myfile.exe'を開いて実行できます。
1つのフォルダにバンドルする
pyInstallerのをバンドルするオプションを指定せずに使用した場合myscript.py 、デフォルトの出力は、単一のフォルダ(名前はあるmyscriptの実行可能命名含む) myscript ( myscript.exe必要なすべての依存関係と一緒にウィンドウ内に)。
アプリは、フォルダをzipファイルに圧縮して配布することができます。
1つのフォルダモードは、オプション-Dまたは--onedirを使用して明示的に設定できます
pyinstaller myscript.py -D
利点:
1つのフォルダにバンドルすることの大きな利点の1つは、問題をデバッグする方が簡単だということです。いずれかのモジュールがインポートに失敗した場合は、フォルダを調べて確認できます。
更新中に別の利点が感じられます。コードにいくつかの変更があっても、使用する依存関係がまったく同じであれば、配布者は実行可能ファイル(通常はフォルダ全体よりも小さい)を発送することができます。
短所
この方法の唯一の欠点は、ユーザーが多数のファイルの中から実行可能ファイルを検索する必要があることです。
また、ユーザーは、アプリケーションが正常に動作しなくなる可能性のある他のファイルを削除/変更することができます。
単一ファイルへのバンドル
pyinstaller myscript.py -F
単一のファイルを生成するオプションは、 -Fまたは--onefileです。これにより、プログラムが1つのmyscript.exeファイルにバンドルされます。
単一ファイル実行可能ファイルは、単一フォルダバンドルよりも低速です。彼らはまた、デバッグするのが難しいです。