2-4. Jython のインストール

本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

概要

Jython は、Python のコードを Java バイトコードに変換して、Java 仮想マシン上で実行可能にするインタプリタです。Jython により、Python の文法で記述したコードから Java のライブラリをそのまま呼び出すことができ、Python スクリプトと Java クラスのシームレスな連携が可能になります。

Java アプリケーションに組み込んだり、Java プロジェクト内でスクリプティング言語として Python を使いたい場合に有用です。

本稿更新時点での、最新の安定バージョンは Jython 2.7.4 であり、Python 3 系には現時点で対応していません。

公式サイト
https://www.jython.org
https://github.com/jython/jython


名前の由来

Jython の名前は、「Java」と「Python」の合成語です。初期の段階では「JPython」とも呼ばれていましたが、後に Jython に改名されました。

Jython を利用するために必要な Java 実行環境

Jython を利用するためには、Java 環境が必要です。
Jython 2.7.4 は、Java 8 か Java 11 での動作がサポートされています。

ここでは、OpenJDK で Java 11 の実行環境を準備します。

OpenJDK のダウンロードと実行環境の準備

1) OpenJDK のサイトにアクセスし、右側の上から2番目の段落の jdk.java.net/24 をクリック – 左側 [Java SE 11] をクリックするか、以下から OpenJDK Java SE 11 のダウンロードページに直接アクセスします。
https://jdk.java.net/java-se-ri/11-MR3

2) ここでは Windows/x64 版をダウンロードします。

3) ダウンロードした openjdk-11.0.0.2_windows-x64.zip を適当なフォルダに解凍します。
ここでは、C:\jdk-11.0.0.2に解凍しています。
解凍したフォルダ配下に bin\java.exe があることを確認します。

C:¥jdk-11.0.0.2\ に解凍した例

5) Windows の環境変数の Path に上記の bin を追加します。
[スタート] – “環境変数を編集” で検索 – 上側のユーザの環境変数内 Path の行を選択 – [編集] ボタン から
ここでは C:\jdk-11.0.0.2\bin を追加しています。

環境変数のPATH にOpenJDK の bin フォルダを追加

6) ターミナルを開き、java -version を実行し、応答があることを確認します。

java 確認

Jython のダウンロード方法

Jython は公式サイトからダウンロードできます。
https://www.jython.org
 → Download をクリックし、その先の Jython Installer リンクからダウンロード

Jython ダウンロードサイト

Jython のインストール方法

Jython は Java ベースの .jar インストーラで提供されており、Java がインストールされていれば OS を問わず動作します。

1. Java の確認

Jython を実行するには Java 8 か 11 以降 が必要です。
Java の準備ができているかは、以下のコマンドで確認できます。

java -version

2. Jython のインストール

ダウンロードした .jar ファイルを使ってインストールを開始します。

java -jar jython-installer-2.7.4.jar

ここでは、C:\Jython 配下に jython-installer-2.7.4.jar を置いて実行しています。

jython-installer-2.7.4.jar を実行する


GUI のインストーラが起動するので、表示に従って進めます。
とりあえずはデフォルトで進める形でよいと思います。

インストール完了後は、インストール先の bin\jython.exe に実行ファイルがあります。(必要に応じて 手動で jython.exe へのパスを設定します。)

以下は対話型に print を実行した例です。

jython.exe
>>> print("Hello from Jython!")
Hello from Jython!

終了は exit() か Ctrl+D の入力 です。

print("Hello from Jython!) を対話型に実行

CPython との比較

特徴JythonCPython
実装言語JavaC
対応 Python バージョンPython 2.7 系まで最新の Python(3.x)対応
C拡張モジュール使用不可使用可能(NumPy, SciPy 等)
Java ライブラリの利用可能(Java のクラスをインポート可能)不可
マルチスレッド処理GIL がないため実スレッド並列が可能GIL により制限あり
処理速度Java の最適化により一部高速な場合あり高速だが C 拡張依存が多い

実行例

Python から Java のクラスを使う

Python から Java のクラスを使う例です。

from java.util import Date
from java.lang import System

now = Date()
System.out.println("Current date and time (java.util.Date): %s" % now)

これを、例えば test24-date.py と保存して実行すると以下のように表示されます。

> cd C:\Jython\jython2.7.4\bin\
> .\jython.exe .\test24-date.py

結果

Current date and time (java.util.Date): Sun Apr 13 10:19:48 JST 2025
test24-date.py を実行

Java の GUI を使う(Swing)

Python から Java の GUI (Swing) を使う例です。

from javax.swing import JFrame, JButton, JOptionPane
from java.awt import FlowLayout
from java.awt.event import ActionListener

class ButtonClickListener(ActionListener):
    def actionPerformed(self, event):
        JOptionPane.showMessageDialog(None, "Hello from Jython GUI!")

frame = JFrame("Jython Swing Sample")
frame.setSize(300, 150)
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setLayout(FlowLayout())

button = JButton("Click me")
button.addActionListener(ButtonClickListener())

frame.add(button)
frame.setVisible(True)

これを、test24-swing.py と保存して実行すると以下のようになります。

> cd C:\Jython\jython2.7.4\bin\
> .\jython.exe .\test24-swing.py


ターミナルで実行後に、別のウィンドウが立ち上がり、そのウィンドウのボタンをクリックするとさらにダイアログが表示されます。