に変換する方法-―-PyInstallerが見つからないときの対処法も解説_タイトル画像-1024x683.jpg)
本記事では、Pythonスクリプトから実行体を作る方法をご紹介します。また、pyinstaller
が見つからないというエラーが生じた場合の簡単な対策についても解説します。
目次
はじめに
Pythonのスクリプトを実行するには、Pythonをインストールした後に必要なライブラリをインストールして、環境を構築しなければなりません。
他の人にスクリプトを渡して使ってもらう場合、その人も同様の環境を構築することになります。その人がPythonユーザーであれば大した手間ではないですが、明るくない人であれば時間がそれなりにかかることになります。
スクリプトを実行体(.exe
)にすると、環境構築を行う必要がないため、簡単に使ってもらえるようになります。すると、作業を効率的にするちょっとしたプログラムを共有して、全体の効率アップにつなげることもできます。
また、人にソースコードを見せたくない場合は、機械語に翻訳されるため、ソースコードを簡単にみることができなくすることができます(ただし、ソースコードを本当に隠蔽した場合には別途暗号化が必要になります)。
pyinstallerのインストール
pyinstaller
を使用するために、pyinstaller
パッケージをインストールします。pythonがインストールされた環境でpip
コマンドを使用します。
pip install pyinstaller
準備はこれで完了です。
pyinstallerの使い方
pyinstaller
により実行体を作る場合には、次のようにします。
pyinstaller sample.py
sample.py
の部分は、実行体にしたいPythonのスクリプトの名前になります。複数のスクリプトから構成される場合は、メインとなるスクリプトの名前を指定します(つまり、スクリプトを実行するときにpython sample.py
とする場合と同じファイルを指定します)。
pyinstaller
を使用すると、Python本体と作成したスクリプト、Pythonプログラムで使用したモジュールが実行体(.exe
)に変換されます。この作成した実行体はOSに依存し、Windowsで作成したものはWindows上でのみ実行することができ、MacやLinuxでは使用できません。成功すると、次のようにうまくいったことを意味するメッセージが表示されます。
14455 INFO: Build complete! The results are available in: D:\User\Desktop\Python
コマンドを使用すると、2つのフォルダができます。
フォルダ名 | 説明 |
---|---|
build | 中間ファイルが保存される作業用ディレクトリです。通常は配布や実行には不要です。消しても再度コマンドを実行したときに再作成されます。 |
dist | 最終的な実行ファイル(.exe など)が出力される場所です。ユーザーが配布するのはこの中のファイルになります。 |
pyinstaller
には、いくつか便利なオプションがあります。よく使うのは、--onefile
と--noconsole
です。
オプション | 説明 |
---|---|
--onefile | 通常、pyinstaller でビルドすると複数のファイルやフォルダ(依存関係)を含む多数のファイルが出力されます。--onefile を使用すると、必要なファイルをまとめて実行体(.exe)にしてくれます。これにより、.exeファイルのみを別の場所にコピーしても実行できるようになります。つまり、ユーザーは1つのファイルを配るだけでよくなります。(ただし、ファイルを一つにするため、ファイルサイズは大きくなります) |
--noconsole | --noconsole を使用すると、コンソールウィンドウを表示させないようにすることができます(GUIアプリ向け)。ログやエラー表示も見えなくなるため、デバッグ中は付けない方が便利です。 |
--name 名前 | 実行ファイルの名前を指定できます(デフォルトはスクリプト名) |
--clean | ビルド前に一時ファイルを削除してクリーンにします。 |
例えば、次のように使います。
pyinstaller sample.py --noconsole --onefile --name test --clean
この場合、test.exe
がdist
フォルダに作成されます。
pyinstallerが見つからない場合(not found)の対処
pyinstaller
をpip
でインストールした後に、pyinstaller
コマンドを実行した場合に、pyinstaller
コマンドが見つからないというエラーがでる場合があります。
例えば、pyinstaller.exe
があるフォルダにPATHが通ってない場合や仮想環境(venv
)でインストールした場合などです。
この場合には、-m
オプションを使ってPyInstaller
モジュールを使用すると、PATHが通っていなくても実行体を作成することができます。
python -m PyInstaller sample.py --noconsole --onefile
pip
コマンドでpyinstaller
をインストールしたけど、コマンドが実行できない場合にはこの方法で実行体を作成するのが簡単です。
まとめ
Pyinstallerのインストール方法と使用方法、Pyinstallerが見つからない場合の簡単な対処法をご紹介しました。
ご参考になりましたら幸いです。