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
まとめ
実行ファイルの作り方、いかがでしょうか?
備忘録程度で書いた記事なので間違えもあるかもしれませんが
皆さんのお役に立てると幸いです
コメント