【Python】exe化について

プログラム

Pythonで作ったコードをPythonがインストールされていない環境でも
1つのファイルをダブルクリックするだけで実行できる方法を簡単に説明します

 実行環境

anacondaを入れてるだけ

visual studio code上のターミナルで実施しています

サンプルはこれ helloworldって書いただけ

実行するともちろんこうなります

インストール

まずはターミナルで下記コマンドを実施

インストールのメッセージがバーって走って終了

pip install pyinstaller

exe化

下記コマンドを実施するだけ

pyinstaller pyファイル名 [–onefile] [–noconsole]

–onefile 関連するファイルを1つにまとめてexe化
–noconsole はターミナル(黒い画面)を表示しない

一つにまとめるので–onefileを記述します

実行するとまたダーっと走って終了

このファイルが出来きて

中にexeが入ってます
※macはunix実行ファイルってのが出来ますね

実行

ダブルクリックで実行

helloworld出てますね

pythonがインストールされていなくても実行できるので
配布時に便利です

ただそれ以外処理ないので、
Windowsは入力処理等ないとそのまま閉じちゃうかもね

Windows、macそれぞれ対応しています

Windowsならばexeが出来ます

macならばunix実行ファイルが出来ます

Windows、macでそれぞれ対する実行ファイルは作れないのか?

公式ドキュメントに以下の記載があるそうです

PyInstaller is tested against Windows, Mac OS X, and Linux. However, it is not a cross-compiler: to make a Windows app you run PyInstaller in Windows; to make a Linux app you run it in Linux, etc.

PyInstaller はWindows, Mac OS X, Linuxで動作確認しています。しかしながら、これはクロスコンパイラではありません。Windowsアプリを作るにはPyInstallerをWindowsで実行してください。Linuxアプリを作るには、Linuxで実行してください。

つまりWindowsであればexe
macであればunix実行ファイル
しか作れないということらしいです!残念!

対する実行ファイルを必要とするなら
Windowsとmacの2台持ちを検討する必要がありそうです

実行が遅いよ

遅いんですねこれ

コンパイルして機械語に翻訳したファイルなはずなので一見早くなりそうなものですが、
必要ないライブラリまで全部詰め込んでしまうからでしょうか。。。

遅いしファイルもでかい

–excludeオプションで不要なライブラリを除外する方法やpy2exeを使う方法もあるようですが
設定ファイルを弄ったり初心者向けではないようです

またシングルファイルには出来ませんが
cx_Freezeという速い実行ファイルを作るのもあるみたいです

興味があれば調べてみると幸せになれるかも?

よかったら教えて下さいw

まとめ

実行ファイルの作り方、いかがでしょうか?

備忘録程度で書いた記事なので間違えもあるかもしれませんが
皆さんのお役に立てると幸いです

 

コメント

タイトルとURLをコピーしました