Python

【Pythonでexeファイル作成】pyinstallerで誰でも簡単に.pyを起動

pyインストーラを使うとexeファイルが作成できるのでpython環境がないPCでもPythonファイルを実行することができます。

今回紹介する例では大丈夫ですが、実際使っていく内に「RecursionError」というエラーに遭遇することがありました。

後半はその対処方法について説明します。

※pandasやmatplotlibをインポートしていると上手くいかないことがあるようです。

インストール方法

pip install pyinstaller

実行文

たった一行で完了です。

pyinstaller tqdm.py --onefile

こんな感じでフォルダやファイルが作成されます。

distの中に実行ファイル(exec)があります。

これをPythonの環境がないPCで実行できればOKです。

コンソール画面を表示させたくない場合は–noconsoleを追加すればOKです。

プログラミングを普段しない方にコンソール画面を見せるとハッキングなどを連想させてしまい不安になるかもしれません。

覚えておくと便利な機能です。

pyinstaller tqdm.py --onefile --noconsole

今回はこちらの記事で紹介した進捗状況を可視化するコードをexe化しました。

【tqdmで進捗の見える化】計算状況をバーで表示する Excelファイルを読み込みfor文を使って数式を書き込んでいく場合や画像ファイルを読み込んでトリミングをするなどの計算時間がかかる重...

コードの中身はこちらです。

from tqdm import tqdm
import time

for i in tqdm(range(10)):
    time.sleep(1)

実際にexeファイルを実行するとコンソール画面が立ち上がりカウントアップが始まります。

RecursionErrorについて

maximum recursion depth exceeded while calling a Python object

このようなエラーが表示された場合、同フォルダに作成される.specファイル上で下記を追加することで回避できます。

import sys
sys.setrecursionlimit(5000)

保存したらspecファイルを使って下記のように実行します。

pyinstaller tqdm.spec

以上で今回の内容は終わりです。

 

Mickey@コーヒー好きエンジニア

【製造業×プログラミング×AI】Python/VBAを活用した業務改善、Streamlit/Plotlyを活用したWebアプリ開発について初心者向けに発信中|趣味は自家焙煎コーヒー作り|noteでは焙煎理論を発信|ココナラではプログラミングに関する相談,就職/転職やコーヒーに関する相談などのサービスをやっています

Share
Published by
Mickey@コーヒー好きエンジニア
Tags: Python