4.3.2. ソースコードの解釈
コンパイル言語で書かれたソースコードをバイトコンパイルし、シェルスクリプト言語で書かれたソースコードを直接実行可能にする。
- バイトコンパイル
ソフトウェアのバイトコンパイル手順は、次の要素によって異なります。
- プログラミング言語
- 言語の仮想マシン
- その言語で使用するツールおよびプロセス
注記たとえば Python で書かれたソフトウェアをバイトコンパイルできます。配布を目的とした Python ソフトウェアは多くの場合バイトコンパイルされますが、このドキュメントで説明されている方法では行われません。説明されている手順は、コミュニティー標準に準拠することではなく、簡素化することを目的としたものです。実際の Python ガイドラインは Software Packaging and Distribution を参照してください。
Python ソースコードは、そのまま解釈することもできます。ただし、バイトコンパイルされたバージョンの方が高速です。したがって、RPM パッケージの作成者は、エンドユーザーに配布するために、バイトコンパイルされたバージョンをパッケージ化する傾向があります。
- 直接解釈
- Bash などのシェルスクリプト言語で書かれたソフトウェアは、常に直接解釈によって実行されます。
4.3.2.1. サンプル Python プログラムのバイトコンパイル リンクのコピーリンクがクリップボードにコピーされました!
ソフトウェアのパフォーマンスを向上させるために、サンプル Python ソースコードをバイトコンパイルします。Python コードは生のコードを直接解釈することもできますが、バイトコンパイルされたコードの方が高速に動作します。
Python ソースコードの直接解釈ではなくバイトコンパイルを選択すると、より高速なソフトウェアを作成できます。
Python プログラミング言語で書かれたサンプルの Hello World プログラム (pello.py) には、次の内容が含まれています。
print("Hello World")
手順
pello.pyファイルをバイトコンパイルします。$ python -m compileall pello.pyファイルのバイトコンパイルされたバージョンが作成されたことを確認します。
$ ls pass:[pycache]pello.cpython-311.pyc出力内のパッケージのバージョンは、インストールされている Python のバージョンによって異なる場合があることに注意してください。
pello.pyでプログラムを実行します。$ python pello.pyHello World