こんにちは、fuyutsuki(@Fuyutsuki)です。

pythonコードを配布したいと思った事はありませんか?
例えば、前回作成したtkinterによるGUIアプリを作成したとき、GUIアプリを配布しようとしても、配布先のPCでPythonの環境構築を行わなくてはいけません。



しかし、毎回配布先のPCでPythonの仮想環境を構築するのは大変です。
そのような時に活躍するのが今回紹介する「pyinstaller」です。
Pythonの仮想環境構築
仮想環境の構築は、こちらのvirtualenv + バッチファイルの方法を採用します。まだ見てない方は、チェックしてください。
ここでは、以下のコードのバッチファイルを作成・ダブルクリックし、Pythonの仮想環境構築を完了しましょう。
@echo off
rem スクリプトが置かれている場所をカレントディレクトリにする。
cd /d %~dp0
rem 念のためvirtualenvのインストールとpipのアップグレードを行う。
pip install virtualenv
python -m pip install --upgrade pip
rem vENVの環境を構築する。
python -m venv vENV
call ./vENV/Scripts/activate
python -m pip install --upgrade pip
rem 各パッケージをインストール
pip install openpyxl
pip install pyinstaller
pip install pandas
pip install numpy
pip install pytest
pip install pytest-watch
pause
pyinstallerでexeファイルを作成
バッチファイルをダブルクリックしたら、先程のvirtualenvの記事で解説したように、VScodeを開きましょう。
virtualenvの記事で解説したように操作すれば、すでに仮想環境がアクティベートされているはずです。( ターミナルの行の頭に、下記の画像のように(vENV)と表示されていれば仮想環境がアクティベートされています。)
そこに下記のように、
pyinstaller ○○.py --onefile --noconsole
と入力してエンターを押しましょう。○○.pyの○○には、.pyファイルのファイル名を記述します。
–onefile及び–noconsoleはオプションです。付けても付けなくても問題ありません。
–onefileは、一つのexeファイルにライブラリなどの情報もまとまるため、pythonコードを配布する際には付けておくと便利でしょう。
–noconsoleは、ターミナルウインドウを表示するかどうかです。
他にもアイコンを指定する–icon、不要なライブラリを指定する–excludeなどもあります。


以下のように、~~ completed successfullyと表示されれば完了です。


下記のように、フォルダが作成されます。


distフォルダにexeファイルが作成され、ダブルクリックするとアプリが実行できます。


他の人に自分が作成したコードを配布する際には、このexeファイルを渡してあげればOKです!
まとめ
今回は、pyinstallerを使ってpythonコードを配布するためのexeファイルを作成する方法を解説しました。
会社の人に自分で作成したPythonの自動化ツールを配る際などに役立つのではないでしょうか。
また、プログラミングを学習したいと思っている方はこちらの記事で紹介しているように、買い切り型のオンライン動画学習サービスUdemyがおすすめです。講師の方々のレベルがとても高いことが特長です。


独学でプログラミング学習をするなら、まずおすすめしたいのがUdemyです。オンライン動画買い切り形式で、実務レベルのスキルを習得できます。定期的に80~90%OFFセールが実施されていますよ。
\ セール中は80~90%OFFで購入可能/
30日間返金保証
最後まで読んでいただきありがとうございました。ではまた、次の記事で!
コメント