このチュートリアルでは、4つの簡単なステップでPythonスクリプトをWindows実行ファイルへ変換する方法を探ります。多くの方法がありますが、ここでは一般的な意見として、これまでで最もシンプルな方法を取り上げます。
このチュートリアルは、このタスクを実行するときに直面する多くの一般的なエラーを検討した後に設計されており、したがって、すべての依存関係のインストールとセットアップのための詳細な情報も含まれています。すでにインストールされている場合は、どのステップも読み飛ばして構いません。これ以上説明することなく、始めましょう。
ステップ1:cURLのインストール
cURLは、様々なプロトコルを使用してデータを転送するためのライブラリとコマンドラインツールを提供します。次のステップで、pipパッケージマネージャをダウンロードするために必要です。すでに設定されている方も多いと思いますが、以下のコマンドを実行することで確認することができます。
$ curl --version
もし、上のコマンドでcurlのバージョンが返された場合は、このステップの次の説明をスキップすることができます。それ以外の方は、以下の3つのステップを踏むことでcurlをインストールすることができます。
- https://curl.haxx.se/dlwiz/?type=bin&os=Win64&flav=-&ver=Cache*&cpu=x86_64 へアクセスする。
- 2.あなたのシステムの仕様に合ったcurlパッケージをダウンロードする(32ビット/64ビット) 3.あなたのシステムの仕様に合ったcurlパッケージをダウンロードする(32ビット/64ビット) 4.
- 3.ファイルを解凍し、binフォルダに移動すると、curl.exeファイルがあります。
ただし、これではそのフォルダ内でしかcurlコマンドを使うことができません。マシンのどこからでもcurlコマンドが使えるようにするには、curl.exeを右クリックして、「プロパティ」をクリックし、「場所」の値をコピーしてください。その後、「My PC」を右クリックし、「プロパティ」をクリックします。左側のオプションパネルで、「システムの詳細設定」オプションを選択します。下のスクリーンショットでハイライトされています。
表示されたウィンドウで、右下付近の「環境変数」をクリックします。以下のスクリーンショットでハイライトされています。
次のウィンドウで、「Path」という名前のユーザー変数を見つけてダブルクリックし、「New」をクリックします。そのウィンドウに新しいテキストボックスが作成されるので、先ほどコピーした “curl.exe” ファイルの “Location” 値を貼り付けて、’OK’ をクリックします。
これで、システム内のどこからでもcURLにアクセスできるようになります。以下のコマンドを実行して、インストールを確認してください。
$ curl --version
次のステップに進みましょう。
ステップ2:pipのインストール
このステップでは、基本的にPythonパッケージのためのパッケージマネージャであるpipをインストールします。次のステップで pyinstaller ライブラリをインストールするために必要です。ほとんどの場合、すでに設定されていると思いますが、確認するには以下のコマンドを実行してください。
$ pip --version
もし上のコマンドで pip のバージョンが返されたなら、このステップの次の手順はスキップできます。
それ以外の場合は、コマンドプロンプトで以下の2つのコマンドを実行することで、pipをインストールすることができます。
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py
これで完了です。これでローカルマシンにPipがインストールされました! 確認のため、以下のコマンドを実行してください。
$ pip --version
次のステップに進む前に、マシンのどこからでもpipコマンドにアクセスできるようにするために、curl.exeのときと同じことをする必要があります。
Windowsキーを押しながら「pip.exe」を検索し、最初の検索結果を右クリックして「ファイルの場所を開く」をクリックすると、そのファイルがあるフォルダーに移動します。pip.exe “ファイルを右クリックし、”プロパティ “を選択します。その後、「場所」の値をコピーし、手順1で行ったのと同様に、Path変数に貼り付けます。
ステップ3:PyInstallerのインストール
このステップでは、pipを使用してpyinstallerをインストールします。Pythonスクリプトを実行ファイル(.exe)に変換するために、pyinstallerが必要です。以下のコマンドをコマンドプロンプトにコピーペーストして実行するだけです。
$ pip install pyinstaller
もう一度、インストールを確認するために、以下のコマンドを実行します。
$ pyinstaller --version
注意: Anaconda がシステムにインストールされている場合、代わりに conda
パッケージマネージャを使用していると思われます。その場合、以下のコマンドを順番に実行してください。
$ conda install -c conda-forge pyinstaller
$ conda install -c anaconda pywin32
このステップで全てのインストールが終了します。次のステップでは、たった1つのコマンドで Python ファイルを実行ファイルに変換します。
ステップ4:Pythonファイルを実行可能ファイルに変換する
これが最後のステップです。pyinstallerを使って、コマンド1つで .py
ファイルを .exe
に変換します。では、実行しましょう!
コマンドプロンプトを開き、Pythonファイル/スクリプトがあるディレクトリに移動します。あるいは、File Explorerを使ってそのディレクトリを開き、右クリック+シフトして、”Open Command Prompt in this folder “を選択することもできます。ファイルを変換する前に、ファイルが期待通りに動作することを確認する必要があります。そのために、実行時に数字の10を表示する基本的なPythonスクリプトを書きました。
実行ファイルに変換する前に、このスクリプトを実行し、問題なく動作するかどうか確認してみましょう。コマンドプロンプトで次のコマンドを実行します。
$ python name_of_your_file.py
私の場合、ファイル名は’sum.py’でした。
Pythonファイルと同じディレクトリにスタンドアロンの実行ファイルを作成するには、次のコマンドを実行します。
$ pyinstaller --onefile <file_name.py
この命令は完了するまでに少し時間がかかるかもしれません。完了すると、3つのフォルダーが生成されます。dist’フォルダの中に実行ファイルがあります。onefile” 引数は、pyinstaller に実行ファイルを1つだけ作成するように指示することに注意してください。
では、この手順がうまくいったかどうか、実行ファイルを実行してみましょう!
ジャジャーン! 期待通りに動きました。
もし、実行ファイルがすぐに閉じてしまって出力に気がつかない場合は、Pythonファイルの最後に input()
行を追加すると、入力を待つ間プロンプトを開いたままにしておくことができます。このようにして、私も出力のスクリーンショットを撮ることができました。
また、実行ファイルが phantomjs
のような他の実行ファイルに依存している場合、 pyinstaller がそれを実行ファイルに含めることができるように、それらを Python ファイルのディレクトリと同じディレクトリに置いておく必要があることに注意してください。
結論
このチュートリアルでは、Python の pyinstaller ライブラリを使用して Python スクリプトを実行可能ファイルに変換する方法について、4つのステップで詳しく説明しました。まず cURL をインストールし、次に pip と pyinstaller をインストールしました。最後に、サンプルの Python ファイルを実行ファイルに変換して、この手順が Windows 上で動作することを確認しました。