# Changelog - Version 8.5.8-a ## 新機能 ### Python導入オプションの追加 PHPからPythonスクリプトを呼び出す用途(データ処理・機械学習ライブラリの利用など)向けに、`values.yaml` の設定だけでPython仮想環境(venv)を導入できるようにしました。既存のComposerサポートと同じ設計方針を踏襲しています。 #### 主な変更点 1. **values.yaml** - `python` セクションを新設 - `enabled`: Python有効化 - `venvDir`: venv導入先(デフォルト `/venv` — Webルート外かつPVCにマウントされない使い捨て領域) - `packages` / `useRequirementsTxt` / `requirementsTxt`: pipパッケージ指定方法(Composerの `packages` / `useComposerJson` と同じ構造) - `installOptions`: pip installオプション(デフォルト `--no-cache-dir`) - `additionalApkPackages`: ネイティブ拡張ビルド用の追加APKパッケージ 2. **templates/deployment.yaml** - `python.enabled` 時に `python3` / `py3-pip` をAPKでインストール - `python3 -m venv` で仮想環境を構築 - `useRequirementsTxt` / `packages` に応じてpipインストールを実行 - `requirementsTxt` の複数行内容は `trim | nindent 14` で展開(v8.5.6-d のComposer修正と同じ手法でYAML破壊を回避) 3. **README.md** - パラメータ表・使用例(例12)を追加 - Alpine(musl)向け事前ビルドwheelが無いパッケージ(numpy等)はビルドに時間がかかる旨の注意書きを追加 ## 設計方針(Composerとの一貫性) - デフォルトの `/venv` はPVCにマウントされず、**Pod再起動のたびにクリーンな環境へ再構築される使い捨て領域**です。不正アクセスで書き込まれても再起動で消えます。 - 永続化したい場合は `python.venvDir` に `/var/www` 配下のパスを指定してください(例: `/var/www/venv`)。 ## 使用例 ```yaml python: enabled: true useRequirementsTxt: true requirementsTxt: | requests>=2.31.0 pandas>=2.0.0 ``` PHPからの呼び出し: ```php exec('/venv/bin/python3 /var/www/scripts/process.py 2>&1', $output, $exitCode); ``` ## 互換性 - デフォルトは `enabled: false` のため、既存環境への影響はありません。 --- **リリース日**: 2026-07-19 **担当**: プロサーバーエンジニア(Claude)