はじめに
本記事は以下の方を対象にしています。
・Python処理系について知りたい方
・主なPython処理系の実行方法について知りたい方
Python処理系の概要
Python処理系とは何か
Python処理系とは、Pythonプログラムを実行するために必要なソフトウェアのことです。Pythonはインタプリタ型のプログラミング言語であるため、プログラムを実行するためにはPython処理系が必要です。
インタプリタ型
=>プログラミング言語で書かれたソースコードを逐次解釈しながら実行するプログラムのこと参考:Wikipedia
Python処理系の種類
Python処理系には、CPython、Jython、IronPython、PyPyなどがあります。
このほかにも多くの種類が存在します。こちらの記事にわかりやすくまとめられているので、ぜひ参考にされてください。Python処理系が網羅されています。
今回は以上4つの処理系について説明いたします。
Python処理系の概要と特徴
CPython
CPythonは、Pythonの標準処理系であり、最も一般的に使われています。
CPythonは、拡張モジュールの作成が容易なので、多くのPythonパッケージがCPython上で動作するように作られています。また、CPythonは、Pythonの標準ライブラリを含んでいるため、開発者がすぐに使用できるようになっています。
処理系を特に意識していなければ、Pythonファイルを実行する際はCPythonを利用しているかもしれませんね。
Jython
JythonはJavaプラットフォーム上で動作し、JavaとPythonを統合することができます。
Jythonは、Javaアプリケーション内でPythonコードを実行することができます。また、Jythonは、Javaライブラリにアクセスすることができるため、JavaとPythonの組み合わせで、柔軟かつ強力なアプリケーションを開発することができます。
IronPython
IronPythonは、.NET Framework上で動作し、Pythonと.NETを統合することができます。
IronPythonは、C#やVB.NETなどの.NET言語からPythonコードにアクセスすることができるため、.NETアプリケーションにPython機能を統合することができます。またIronPythonも、Pythonの標準ライブラリを含んでいるため、開発者がすぐに使用できるようになっています。
.NET Framework
=>Web、Windows、Microsoft Azure 用のアプリを構築するための開発プラットフォーム。
Windows で Web サイトやサービス、デスクトップ アプリなどを実行するサポートを行う。
IronPythonは.NET Framework上で動作するため、Windows環境で最も一般的に使用されます。
PyPy
PyPyは、CPythonと互換性を持ちながら、高速に実行するために開発されたPython処理系です。
PyPyは、PythonコードをJITコンパイラでコンパイルすることで、CPythonよりも高速に実行することができます。また、PyPyは、CPythonと同じPython仮想マシンを使用しているため、CPythonと同様にPythonパッケージを利用することができます。
JITコンパイラ
=>実行時コンパイラ(じっこうじコンパイラ、Just-In-Time Compiler、JITコンパイラ)とは、
ソフトウェアの実行時にソースコードをコンパイルするコンパイラのこと。引用元:Wikipedia
Python処理系の利用方法
Python処理系でPythonコードを実行するには、以下の手順に従います。
CPython
CPythonはデフォルトで実行することができます。
$ python <実行したいファイル名>.py
Jython
①Jythonのインストール
Jythonの公式ウェブサイトから、OSに合わせたバージョンのJythonをダウンロードしてインストールします。
②Jythonの実行:
ターミナルまたはコマンドプロンプトを開き、以下のようにJythonを実行します。
$ jython <実行したいファイル名>.py
Jythonの対話モード: ターミナルまたはコマンドプロンプトを開き、以下のようにJythonの対話モードを開始します。
$ jython
これにより、対話的にPythonコマンドを入力して実行することができます。
Webアプリケーション実行: Webフレームワークを選択して、Jythonで動作するように構成します。例えば、DjangoフレームワークはJythonで動作するように構成できます。
コマンドラインからJythonを起動して、Webアプリケーションを実行します。
jython <実行したいファイル名>.py runserver
IronPython
①IronPythonのインストール
まず、公式のIronPython Webサイト から最新バージョンのIronPythonをダウンロードしてインストールします。
②IronPythonスクリプトの実行
IronPythonでスクリプトファイルを実行するには、以下のようにコマンドラインでipyとスクリプトファイルのパスを指定して入力します。
$ ipy <実行したいファイル名>.py
これにより、ファイルがIronPythonで実行されます。
IronPythonの対話モード: ターミナルまたはコマンドプロンプトを開き、以下のようにIronPythonの対話モードを開始します。
$ ipy
PyPy
①PyPyのインストール
まず、公式のPyPy Webサイト から最新バージョンのPyPyをダウンロードしてインストールします。
②PyPyスクリプトの実行
PyPyでスクリプトファイルを実行するには、以下のようにコマンドラインでpypyとスクリプトファイルのパスを指定して入力します。
$ pypy <実行したいファイル名>.py
これにより、ファイルがpypyで実行されます。
PyPyの対話モード: ターミナルまたはコマンドプロンプトを開き、以下のようにPyPyの対話モードを開始します。
$ pypy
どのPython処理系を利用するか?
以下の点に注目し、使い分けるとよいでしょう。
パフォーマンス: 処理速度やメモリ使用量などのパフォーマンスに注目することが重要です。
対応プラットフォーム: 処理系が動作するプラットフォームやOSによって選択肢が異なるため、自分が使いたい環境に対応しているかを確認する必要があります。
まとめ
今回の記事は、Python処理系を知らない方に向けて概要を説明いたしました。
Python処理系とは、「Pythonファイルを実行するためのツール」です。
実行方法も、インストールして冒頭の部分(「python」)
を変更するだけなので、とても手軽ですね。
ちなみに、私がPython処理系を知るきっかけとなった記事はこちら↓
【競プロ用】Python高速化Tipsです。
同じPythonファイルを、処理系を変更するだけで実行速度が速くなります。
競プロには必須の知識ですね。
以上、閲覧ありがとうございました。
参考