今日は、Pythonファイルをexeファイルに変換して実行する方法を紹介致します。
やってみたいけど、どうやって良いのかわからない。
この為だけに特別なソフトを導入するのは嫌だな…。
といった思いを持っている皆さんへ向けて、
- 【基礎】exeファイルとは
- 【基礎】なぜexeファイルにする必要があるのか
- 【基礎】exeファイルへの変換手順
- 【応用】1つのexeファイルにまとめる方法
について解説いたします!
ぜひ、最後までお付き合いください。
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他のPythonの記事についてはこちらにまとめています。
exeファイルとは
exeファイルは一言でまとめると、PCがそのまま実行できるように記述された実行ファイルです。
実行ファイルなので、ダブルクリックするだけで処理が始まります。また、拡張子は”.exe”となっており、よくWindows環境で使われます。
なぜexeファイルにする必要があるのか
ここで一つの疑問があるかと思います。
その主な理由は「Pythonを導入していない環境でも動作させる為」です。あなたが作ったスクリプトを配布する時のことを考えてみましょう。
この記事を読んでくださっている皆さんはPythonの環境がある程度備わっているかと思いますが、配布する場合、その全てのユーザにPython環境が備わっているとは限りません。そんな時に実行ファイルへ変換しておくことにより、あらゆる環境で動作するファイルにしておく必要があるのです。
exeファイルへの変換手順
さて、exeファイルに変換する必要性がわかったところで、実際の手順に入りましょう。今回の記事では、大仰なソフトをダウンロードしてくる必要のない、Pyinstallerというツールを使った方法を紹介します。
Pyinstallerのインストール
まずはじめに、Pyinstallerをpipでインストールしましょう。
ここで注意していただきたいのが、Pyinstallerを使う場合はPython2.7またはPython3.3~Python3.6まで(2018年7月現在)の環境を使うようにしてください。これはPyinstallerのサポート状況によるものです。
例えば3.7環境でやろうとした場合、Pyinstallerをインストールしexeファイルに変換する所まではできますが、実行時にエラーが出てがっかりしてしまう事でしょう…
もしサポートしているバージョンについて知りたい場合は、Pyinstallerのリリースページをご確認ください。
さて、実際にインストールする方法はとても簡単で、以下のコマンドを実行します。
$ pip install pyinstaller
これでもう準備は完了です。あとは変換するだけ! もし”pip”が使えなかったり、pipコマンドについて詳しく知りたいという方は以下を参照してみてください。
exeファイルへ変換してみよう!
それでは、”.py”ファイルを”.exe”ファイルへ変換してみましょう。まずはじめに、元となる”.py”ファイルを作成します。今回は”Hello World!”と表示する以下のファイル(test.py)を使用します。
#! /usr/bin/env python # coding: UTF-8 print("Hello World!")
下準備ができたので、いよいよ変換の作業になります。変換の際には、以下のコマンドを実行します。
$ pyinstaller test.py
これにより、実行したディレクトリに複数のファイルが作成されたかと思います。この中の”dist”配下に該当のexeファイルが作成されています!
これを実行すると、
Hello World!
上述のtest.pyの処理が行われた事がわかります。
1つのexeファイルにまとめる方法
dist配下にはexeファイル以外にも様々なファイルがあります。これは、exeファイルを実行するのに必須なファイルです。その為、作成されたexeファイルだけを別のディレクトリに移すと実行した際にエラーが発生してしまいます。これでは、せっかく変換した意味がなくなってしまいますね。
ここで対処法として、実行するのに必要なファイルをひとまとめにする”onefile”オプションを使います。
$ pyinstaller test.py --onefile
このようにオプションをつけるだけで、dist配下に一つのexeファイルだけとなっているかと思います。
これでしたら、移動しても問題なく動作させる事ができます。
まとめ
いかがでしたでしょうか?
今回の記事では、
- 【基礎】exeファイルとは
- 【基礎】なぜexeファイルにする必要があるのか
- 【基礎】exeファイルへの変換手順
- 【応用】1つのexeファイルにまとめる方法
を紹介致しました。
Pythonでツールを作った際、pyファイルをexeファイルに変換する事で多くの人がそれを利用できるようになります。これができればチーム全体の業務効率UPなんてことも夢ではありません!
チーム内でのPython使いのヒーローを目指して、ぜひ変換手順をマスターしましょう!