魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

py_compile を使おう

pyinstalerを使えば、python不要なexeファイルを作れるが、
6.5MB程の大きなファイルになる。それよりは、
サイズの小さな、pycファイルにコンパイルした
ほうが、配布も便利だろう。それに、python
入れている人は多いので、pycをメールに添付して
送信するのが便利だと思う。


以下、Pythonプログラムのコンパイル方法

pyinstallerのことじゃない。
pythonコマンドで実行できるが、中身が
分からない「pyc」という形式にコンパイルする方法を紹介する。

魔術師がやった通りを説明する。

以下のファイルを作り、「helloc.py」と名付けた。
コンパイルを行う、Pythonのプログラムだ。
#------------------------------
import py_compile
py_compile.compile('hello.py')
#------------------------------
以下は、「hello.py」という名のいつものやつ。
#------------------------------
print("Hello World!!!")
#------------------------------

>\mypy python helloc.py #コンパイルの実行

__pycache__ という名前のフォルダができ、
その中に、xxxxxxxxxx.pyc と藺生なのコンパイル結果のファイルができる。
名前を hello.pyc に変更し、\mypyフォルダに入れた。
名前を変えたのは、覚えにくいので簡単にしただけ。

>\mypy python hello.pyc #と実行したが、ちゃんと動いた。
hello.pycの中をエディタで見たが、判読できない形式だった。

>\mypy python hello.pyc #コンパイル結果を実行。

無事、Hello World!!! が表示された。

なお、シェルから行うこともできる。その場合は、
最初に「py_compile」をインポート(import)すること。

pyinstaller と、今回の py_compile を
目的・状況に応じて、使い分けるとよいだろう。