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@コーヒー好きエンジニア

個人アプリ開発者・絵本作家。iPhone・iPad・Apple Watch向けの無料アプリ50本以上と、親子で楽しめる絵本を一人で企画・制作しています。生き物、学び、暮らしの小さな発見を、アプリ・絵本・映像として届けています。

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