【Python】cx_Freezeで軽量なexeファイル化をする方法


Pythonで開発したプログラムファイルをexe化したいということで前回、「pyinstaller」を紹介しました。

【Python】「.py」をexeファイルに変更する方法!エラーになる方必読

2019年12月18日

ただ、「pyinstaller」でexe化したファイルは、ファイルサイズが大きく、exeファイルを起動したときも時間がかかり気になるところでした。

今回はexeファイルを軽量化した「cx_Freeze」を紹介します。


「Python」軽量なexeファイル化ができる「cx_Freeze」の使い方

「cx_Freeze」はexeファイルを軽量化し、ファイル起動時もサクサク動きます。

exeファイル化した後は「pyinstaller」のように1ファイルにまとめることはできませんが、別途exeファイルを圧縮するソフト「UPX」などを使用すると1ファイルにまとめることも可能です。

pyinstallerと比較してもこちらの方が早く感じるのでぜひ参考にしてください。

「cx_Freeze」をpipインストール

「cx_Freeze」のはPythonをインストールした環境で以下のコマンドを実行します。

C:\>pip install cx_Freeze
Collecting cx_Freeze
  Downloading cx_Freeze-6.2-cp38-cp38-win32.whl (203 kB)
     |████████████████████████████████| 203 kB 1.6 MB/s
Installing collected packages: cx-Freeze
Successfully installed cx-Freeze-6.2

C:\>
[Successfully]となれば、正常にインストールされたことに成増。


「setup.py」作成

「cx_Freeze」をインストールした後は「setup.py」というファイルを作成します。

以下は、「test.py」というプログラムファイルをexe化する設定となります。
10行目のscriptで自分のファイルを指定します。

※ setup.py

import sys
from cx_Freeze import setup, Executable
 
base = None
 
if sys.platform == 'win32':
    base = 'Win32GUI'
# Winデスクトップ出ない場合「CUI」の場合はif文をコメントアウト
 
exe = Executable(script = "test.py", base= base)
# "test.py"にはexe化するファイルの名前を記載。
 
setup(name = 'your_filename',
    version = '0.1',
    description = 'converter',
    executables = [exe])

「cx_Freeze」を実行しexeファイル化

上記で「setup.py」を作成できれば、exeファイル化したいファイルを同じフォルダ内に移動し、以下コマンドを実行します。

C:\>python setup.py build

コマンド実行後、正常にexeファイル化ができると「build\exe.win32-3.8」配下に以下のようなexeファイルが作成されます。

※error_find.pyをexe化した例

これでexeファイル化は完了です。
簡単に設定・実行ができるので試してみてください。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!