Pythonによるデータ分析・機械学習ブログ

Pythonによるデータの前処理・グラフ化、機械学習、統計解析、画像処理、Webスクレイピング、自然言語処理の基礎について紹介していきます。

MENU

cx_Freezeを用いたpythonプログラムのexe化

はじめに

 Pythonで作成したアプリを公開して使ってもらったり、Pythonを使わない人にPythonで作成したアプリを渡して使ってもらえるようにしたいと思うことありますよね?

 そういった場合にはexe化して実行ファイルに変換します。exe化する方法として、現在はpyinstallerが主流ですが、cx_Freezeはファイル容量が小さく、比較的安定し、exeファイルの起動時間が短いといったメリットがあります。

 この記事では、cx_Freezeを用いてPythonプログラムをexe化する方法を紹介します。具体的には最小限のライブラリを用意するためにvenvの環境を構築し、そのvenv環境でcx_Freezeを用いてPythonプログラムをexe化していきます。

SAMURAI TERAKOYA

 

1. Windowsで仮想環境venvの構築

コマンドプロンプトで以下のコマンドで実行すると、仮想環境が作成されます。

python -m venv {仮想環境の名前}

例は以下のようになります。以下は仮想環境の名前を「venv」としています。

仮想環境が作成されたら、作成した仮想環境をアクティベートします。

.\{仮想環境の名前}\Scripts\activate

例は以下の様になります。以下は仮想環境の名前を「venv」としています。

アクティベート後は必要なライブラリだけインストールします。以下の例ではこの後使用するcx_Freezeとnumpyをインストールしています。

 

2. cx_Freezeでexe化

それでは、作成した仮想環境でcx_Freezeでexe化していきます。

cxfreeze -c {exe化したいpythonファイル} --target-dir {exe化後のファイルをまとめたフォルダの名前}

例は以下の様になります。以下ではtest.pyをexe化して。それらがappフォルダに格納されます。

画像で作成前後を比較してみます。

最初は対象のpythonファイルとvenvのフォルダがある状態です。

exe化すると以下の様にappフォルダが作成されます。

このappフォルダの中を見ると、以下の画像のようになっており、拡張子がexeのものが本記事で作成したかったexeファイルになります。appフォルダ内のものは必要なものなので、exeファイルと一緒に配布しましょう。

 

3. 動画で確認

上記の内容を動画で示しましたので、わかりにくい方はこちらをご覧ください。

youtu.be

 

オススメ書籍

Pythonによるあたらしいデータ分析の教科書

Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。

データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析

こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。

東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~

こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。

 

スキル修得&転職

 近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。

以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼

▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲

 

おわりに

 この記事では、cx_Freezeを用いてPythonプログラムをexe化する方法を紹介しました。具体的には最小限のライブラリを用意するためにvenvの環境を構築し、そのvenv環境でcx_Freezeを用いてPythonプログラムをexe化しました。起動が早いexeファイルを作成するにはcx_Freezeが良いと思うので、pyinstallerと比較しながらexeファイルを作成してみてください。