LoginSignup
6
2

More than 1 year has passed since last update.

【初学者向け】Python処理系について

Last updated at Posted at 2023-04-18

はじめに

本記事は以下の方を対象にしています。

・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ファイルを、処理系を変更するだけで実行速度が速くなります。
競プロには必須の知識ですね。

以上、閲覧ありがとうございました。

参考

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2