AI Technology Community
1.4、Pythonコンパイラ(インタプリタ)まとめ
言語は一種の規範であり、あるいはただの紙に過ぎません。コンパイラやインタープリターは言語の具体的な実装であり、異なるインタープリターは独自のスタイルを追加することがあります。ですから、同じコードであっても、異なるインタープリターを使用するとその挙動が異なる場合があります。
Python言語はオープンな言語であり、誰でも、どんな会社や組織でも独自の実装やインタープリターを作成することができます。現在最も正統なPythonのリリース版は、python.orgが提供するC言語で実装されたPythonインタープリターです。このリリース版はPythonの公式サイト(https://www.python.org/)から無料でダウンロードできます。
python.org以外にも、多くの組織や会社が他のPythonの実装版を提供しています。このセクションでは、いくつかの一般的な実装版について紹介します。
1. CPython
CPythonは先ほど述べたpython.orgが提供するPythonコンパイラであり、Windows、macOS、Linuxなどの他のシステムでの実行をサポートしています。このチュートリアルでは、皆さんにCPythonのインストールをおすすめします。
CPythonと呼ばれるのは、C言語で実装されているからです。
https://www.python.org/downloads/では、Python 2やPython 3を含む、公開されているすべてのPythonバージョンを見ることができます。ここから自分のバージョンを選択し、リンクをクリックすると、関連するバージョンのダウンロードページに移動します。図1のようになります。
図1:CPythonのバージョンを選択
開いたリンクでは、異なるプラットフォームのインストールパッケージを選択してダウンロードすることも、ソースコードをダウンロードすることもできます。Windowsユーザーの場合は、Windows x86 - 64 executable installerのインストールパッケージのダウンロードをおすすめします。図2のようになります。ダウンロード後、直接ダブルクリックするだけでインストールが完了します。
図2:CPythonのインストールパッケージを選択
2. Irony Python
IronPythonは.NETとMono上でのPython言語の実装であり、Jim Hugunin(Jythonの創始者でもある)によって作成されました。最初のリリース版は2006年9月5日に公開されました。
IronPythonの最大の特徴は、Windowsとシームレスに連携でき、Windowsの実行可能ファイルに直接コンパイルすることができることです。
https://ironpython.net/では、IronPythonプロジェクトの状況を見ることができます。現在の最新リリース版は2.7.9であり、Python 3関連のバージョンはまだ見られていません。このバージョンはhttps://github.com/IronLanguages/ironpython2/releases/tag/ipy - 2.7.9からダウンロードできます。msiインストールファイルのダウンロードをおすすめします。図3のようになります。
図3:IronPythonのインストールパッケージをダウンロード
IronPythonのインストールパッケージは約5MBで、CPythonのインストールパッケージよりもはるかに小さいです。
ダウンロードが完了したら、このmsiファイルをダブルクリックするとインストールができます。図4のようになります。
図4:IronPythonをインストール
インストールが完了すると、インストールディレクトリにいくつかの実行可能ファイルが表示されます。図5のようになります。
図5:IronPythonのインストールディレクトリ内のファイル
このうち、ipy32.exeは32ビットのインタープリターです。このプログラムを実行すると、図6のようなウィンドウが表示されます。
図6:ipy32.exeの実行状況
ipy.exeは64ビットのインタープリターです。このプログラムを実行すると、図7のようなウィンドウが表示されます。
図7:ipy.exeの実行状況
ipyc.exeはコンパイラであり、Pythonスクリプトを実行可能ファイルにコンパイルすることができます。これはIronPythonの特徴的な機能の一つです。
CPythonにもPythonスクリプトを実行可能ファイルにコンパイルするツールがありますが、通常コンパイル後の結果ファイルは非常に大きくなります。一方、ipyc.exeでコンパイルされたものはdotnet上のバイトコードなので、結果ファイルははるかに小さくなります。
図8はipyc.exeを使用したコンパイルの過程を示しています。
図8:ipycコンパイラの使用方法
コンパイル結果のファイルhello.exeは約4KBであることがわかります。他のツールを使用すると、出力ファイルは少なくとも2MB以上になり、両者は数百倍もの差があります。
インストールディレクトリのscriptsディレクトリには、pipやeasy_installなど、Pythonソフトウェアパッケージをインストールするいくつかのツールがあります。図9のようになります。これら2つのプログラムは、Pythonソフトウェアパッケージをインストールする一般的なツールです。pipは現在、比較的人気のあるPythonパッケージのインストール方法であり、このチュートリアルでもpipを使用してPythonパッケージをインストールすることをおすすめします。
図9:scriptsディレクトリ内の内容
CPythonとは異なり、pipはPythonスクリプトではなくアプリケーションであり、実行可能ファイルです。テキストエディタで開くと、バイナリの乱符号が表示されます。
IronPythonはこのチュートリアルの重点ではないので、ここでは簡単な例を示します。この例では、ウィンドウを作成し、そのウィンドウを表示します。コードは以下の通りです。
import clr # dotnetライブラリをインポートするためclr.AddReference('System.Drawing') # System.Drawingというdllをインポートする# System.Windows.Formsというdllをインポートするclr.AddReference('System.Windows.Forms')from System.Drawing import Icon # アイコンをインポートするfrom System.Windows.Forms import Form # ウィンドウをインポートするicon = Icon('./test.ico') # アイコンを作成するform = Form() # ウィンドウを作成するform.Icon = icon # ウィンドウが使用するアイコンを指定するform.ShowDialog() # ウィンドウを表示する
これが使用する方法はC#に似ていることがわかります。まずいくつかのdllをインポートし、次にこれらのユーザーインターフェイス要素を作成し、最後に表示するだけです。このコードを実行すると、図10のようなウィンドウが表示されます。
図10:IronPythonでのコード実行結果
3. Jython
JythonはJavaで実装されたPythonインタープリターであり、その特徴も明確です。サードパーティのjarパッケージをシームレスに使用することができ、これによりJavaコミュニティのすべてのリソースをPythonで直接使用することができます。
Jythonの使い方はCPythonと基本的に同じですが、sysの情報が異なります。たとえば、os.nameはjavaであり、CPythonの場合はntです。図11はJythonインタープリターの実行状況を示しています。
11
item of content
このチュートリアルを開いていただき、ありがとうございます。第1章として、皆さんを楽しくPythonの初歩へと導きます。
この章では、Pythonの歴史から始め、Pythonのバージョン、Python言語の特徴、そしてPython開発に必要な基礎知識や基本文法などを紹介します。
これらの内容をマスターすることで、後の章での学習に良い土台を築くことができます。
- 485hits
- 0replay
-
0like
- collect
- send report