PythonスクリプトをWindows環境で動くexeファイルにしよう!

今日は、Pythonファイルをexeファイルに変換して実行する方法を紹介致します。

Pythonはマルチプラットフォームで動作するのに、どうして変換する必要があるの?
やってみたいけど、どうやって良いのかわからない。
この為だけに特別なソフトを導入するのは嫌だな…。

といった思いを持っている皆さんへ向けて、

  • 【基礎】exeファイルとは
  • 【基礎】なぜexeファイルにする必要があるのか
  • 【基礎】exeファイルへの変換手順
  • 【応用】1つのexeファイルにまとめる方法


について解説いたします!

ぜひ、最後までお付き合いください。

本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。

→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説

なお、その他のPythonの記事についてはこちらにまとめています。

目次

exeファイルとは

exeファイルは一言でまとめると、PCがそのまま実行できるように記述された実行ファイルです。

実行ファイルなので、ダブルクリックするだけで処理が始まります。また、拡張子は”.exe”となっており、よくWindows環境で使われます。

なぜexeファイルにする必要があるのか

ここで一つの疑問があるかと思います。

Pythonはマルチプラットフォームで動作するのに、どうして変換する必要があるのか。

その主な理由は「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コマンドについて詳しく知りたいという方は以下を参照してみてください。

【Python入門】pipとは?使い方をわかりやすく解説!
更新日:2024年5月6日

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使いのヒーローを目指して、ぜひ変換手順をマスターしましょう!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次