0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Python の 機械学習アプリや GUI アプリを PyInstaller でパッケージングするメモ

Posted at

背景

機械学習アプリとか, GUI アプリなどをぺろっと配布したい.
ユーザーに conda 環境作って, pip install して... とかさせるのが面倒だったり, 動作環境(python version など)を固定させたいときなど. 特に Windows でユーザに環境一式そろえたのを提供したいときとか.

PyInstaller でいけました!

方法

PyInstallerでexeファイル化
https://qiita.com/takanorimutoh/items/53bf44d6d5b37190e7d1

PyInstallerによるPythonスクリプトのexe化とエラー対処方法まとめ
https://qiita.com/kunishou/items/b2e8754886107292926d

PyTorchで記述したPythonスクリプトをPyInstallerでexe化
https://qiita.com/noknmgc/items/ea4ff708131a0ff22ef9

ありがとうございます.

基本はとくに何も考えずによろしく変換してくれます.

ttkbootstrap のサンプル

あたりで適当に gui.py を作り, pyinstaller gui.py しました(Windows)

Screenshot from 2022-02-06 16-07-33.png

あとは .exe をクリックすれば, python でスクリプト実行したときと同じようにいけます!

Screenshot from 2022-02-06 16-07-49.png

Voila!

native binary?

native c module などもパッケージングできるでしょう.
機械学習アプリを販売したりデモ用に提供したいが, 一部はバイナリにしてソースコード見せたくないようなときなど.
(python コード自体も, 難読化というのもあるかもしれません)

注意点

conda 環境でつくっていると, numpy など conda 環境に入っているのがいろいろ一式パッケージングされます.
とくに pytorch 入っているとサイズでかい(4 GB くらいになる)ので注意です! 上記 Qiita 記事にあるように, パッケージング用には別の conda 環境を作るのがよいでしょう.

GPL なのや, dll など一部の再配布時のライセンスに注意が必要かもしれません
(vc runtime dll とか. ライセンス一覧ファイルも自動で作ってくれる機能あるかしらん)

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?