一般社団法人 全国個人事業主支援協会

COLUMN コラム

最近お客様の作業を自動化するツールを作成して、wxpythonでGUI化しました。
「このままだと納品先のPCで環境構築しないと使えないよなー」と思いexe化する方法はないかと探したところpyintallerを見つけました。
実際に使ってみて簡単にexe化できて納品しても問題なさそうだったのでおススメです。
他にもexe化する方法はあり、起動が高速なものもあるようですがそこまで複雑なものでなければ十分かと思います。

 

【使い方】

exeは以下の2手順で作成できます。(Pythonは3を想定)

①pipでインストールして

pip install pyinstaller

②以下のコマンドを実行

pyinstaller [Pythonファイル名] [オプション]

例)pyinstaller Hoge.py –noconsole –onefile –clean

 

【オプションの補足】

noconsole

実行中にコンソールを出さないようにします。

onefile

付けないと複数フォルダができてdistフォルダを納品先に渡す必要があります。
付けるとexeファイルのみが出来上がります。(つけないときより起動が遅くなる)

clean

付けなくても特に大丈夫そうでしたが一応付けました。

※ ほかにもあるようですが使いそうなのはここら辺なイメージです

 

【その他ハマったところ】

若干ハマったのが、開発をMacで行いWindowsでexeを実行したところ、コンソールが立ち上がりまくった現象でした。
「noconsole指定してるのに何で?」と思ってpyinstallerについて調べまくったのですが、結局multiprocessが原因でした。
処理を高速化するためにmultiprocessを使っていたのですが、Windowsだと以下を実施していないとコンソールが出るとのこと。

multiprocessing.freeze_support()
The following two tabs change content below.

新歩一 正己

初めまして。 新歩一と申します。 現在開発系のフリーランスで4年目となります。 新しいもの好きなので色々開発言語は触っております。 Web関係、業務用システム構築がメインでJava, Javascript, PHP, Pythonを使っております。 オリンピック期間は国外逃亡します。(たぶん)

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア