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

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

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

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

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


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

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

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とは?使い方をわかりやすく解説!
更新日 : 2019年7月30日

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

LINEで送る
Pocket

SEからWebエンジニアへ転職した理由

侍エンジニア塾卒業生の小池さんは、以前は社内SEとして約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
更新日 : 2019年10月7日

書いた人

遠藤貴大

遠藤貴大

1991年生まれ。双子座。
理系大学で認証システムを学んだ後、アプリ開発者となる。
新しく学ぶ人に寄り添った記事を心がけて執筆します。
芸術が好き。いつか猫と暮らすのが夢。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説