凡愚な僕

理系大学生の雑記と備忘録

Pythonでexe化|PyInstallerの使い方とできない時の対処法【python3.8】

f:id:mizukawa815:20211003191536p:plain
今日はPyinstallerを用いてexeファイルを作成する方法と実際に出たエラーの対処法を解説してくよ~。




Pyinstallerを使ってexeファイルを作成する

Pyinstallerとは

Python アプリと依存するライブラリなどのファイルを一つのパッケージにまとめます。ユーザーは、Python インタプリタやモジュールをインストールすることなく、パッケージ化されたアプリを実行することができます。

Pyinstallerの使い方

環境

環境は以下の通りです。
windows10
Python3.8

PyInstallerをインストール

まずはpipからPyInstallerをインストールします。

pip install pyinstaller
コマンドを実行してスクリプトファイルをexe化する

Pyinstallerでexe化する方法は簡単でexe化するファイルがあるディレクトリに移動し、以下のコマンドを実行するだけです。

cd 〇〇 // スクリプトファイルがあるディレクトリに移動
pyinstaller <exe化するファイル名> --onefile // exe化コマンド

今回、exe化するスクリプトファイルをTest.pyとしたとき、以下のコマンドを実行します。

pyinstaller Test.py --onefile

処理が完了すると「dist」フォルダが生成されその中のexeファイルからプログラムを実行することができます。

エラーが発生したときの対処法

TypeError: an integer is required (got type bytes)

エラーが発生し、exeファイルが生成されないことがあります。

今回発生したエラーコードは以下の通りです。

TypeError: an integer is required (got type bytes)

生成された「dist」フォルダにexeファイルが生成されていませんでした。

最新版のPyinstallerはPython3.8に対応していなかった

最新版のPyinstallerはPython3.8に対応していないことがわかりました。

Develop版をダウンロードして対処する

Develop版をダウンロードし、それを使ってみます。

Develop版は以下のpipコマンドでダウンロードできます。

pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz

exeファイルが生成された

f:id:mizukawa815:20191204155924p:plain
そして再度コマンドを実行したところ無事にexeファイルが生成されていました。

これで簡単にユーザに配布できる形にパッケージすることができました。