- GraalVM for JDK 23 (最新)
- GraalVM for JDK 24 (早期アクセス)
- GraalVM for JDK 21
- GraalVM for JDK 17
- アーカイブ
- 開発ビルド
Python のスタンドアロンアプリケーション
GraalPy を使用すると、外部依存関係なしで、ネイティブアプリケーションや JAR ファイルとして Python アプリケーションやライブラリを作成できます。 GraalPy の基盤となっている Truffle フレームワーク と、GraalPy が Python のネイティブ拡張機能の管理実行に利用する Sulong LLVM ランタイム が組み合わされ、標準ライブラリやインストール済みパッケージへのものも含め、すべてのファイルシステムアクセスが完全に仮想化されます。
GraalPy には、Linux、macOS、および Windows で Python バイナリを作成するための standalone
という名前のモジュールが含まれています。このモジュールは、アプリケーションのすべてのリソースを 1 つのファイルにまとめます。
前提条件: バージョン 23.1.0 以降の GraalPy ディストリビューション。 GraalPy リリース を参照してください。
たとえば、my_script.py という名前の Python ファイルからネイティブ実行ファイルを作成し、my_venv という名前の仮想環境にインストールされているパッケージを作成する場合は、次のコマンドを実行します。
graalpy -m standalone native \
--module my_script.py \
--output my_binary \
--venv my_env
Python コード、GraalPy ランタイム、および Python 標準ライブラリをすべて 1 つの独立した実行可能ファイルに含むネイティブの my_binary ファイルが生成されます。他のオプションについては graalpy -m standalone native --help
を使用してください。
セキュリティ上の考慮事項 #
Python コードを含むネイティブ実行ファイルまたは JAR ファイルを作成するのは、軽度の難読化の一種と見なされる可能性がありますが、ソースコードは保護されません。 Python ソースコードはそのままの実行ファイルに格納されません (GraalPy バイトコードのみが格納されます)。しかし、バイトコードは Python ソースコードに簡単に変換できます。