Helm Chart Release / release-chart (push) Successful in 5s
PHPからPythonスクリプトを呼び出す用途向けに、values.yamlの設定
だけでPython仮想環境(venv)を導入できるようにした。既存のComposer
サポートと同じ設計方針(デフォルト導入先はWebルート外・PVC非マウ
ントの使い捨て領域、packages/useRequirementsTxtの二択、
additionalApkPackagesでネイティブ拡張ビルド対応)を踏襲。
- values.yaml: python セクション新設
- templates/deployment.yaml: python3/py3-pipのAPKインストール、
venv構築、pip install処理を追加(requirements.txtの展開は
trim | nindent 14 でYAML破壊を回避、v8.5.6-dと同じ手法)
- README.md: パラメータ表・使用例(例12)・注意事項を追加
PHPからは exec('/venv/bin/python3 script.py') で呼び出す。
自動更新ワークフローによりPHP 8.5.8へのフルリリース(v8.5.8)が
先行して行われたため、本機能はそのタグの上に手動リリース 8.5.8-a
として適用する。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.4 KiB
2.4 KiB
Changelog - Version 8.5.8-a
新機能
Python導入オプションの追加
PHPからPythonスクリプトを呼び出す用途(データ処理・機械学習ライブラリの利用など)向けに、values.yaml の設定だけでPython仮想環境(venv)を導入できるようにしました。既存のComposerサポートと同じ設計方針を踏襲しています。
主な変更点
-
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パッケージ
-
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破壊を回避)
-
README.md
- パラメータ表・使用例(例12)を追加
- Alpine(musl)向け事前ビルドwheelが無いパッケージ(numpy等)はビルドに時間がかかる旨の注意書きを追加
設計方針(Composerとの一貫性)
- デフォルトの
/venvはPVCにマウントされず、Pod再起動のたびにクリーンな環境へ再構築される使い捨て領域です。不正アクセスで書き込まれても再起動で消えます。 - 永続化したい場合は
python.venvDirに/var/www配下のパスを指定してください(例:/var/www/venv)。
使用例
python:
enabled: true
useRequirementsTxt: true
requirementsTxt: |
requests>=2.31.0
pandas>=2.0.0
PHPからの呼び出し:
exec('/venv/bin/python3 /var/www/scripts/process.py 2>&1', $output, $exitCode);
互換性
- デフォルトは
enabled: falseのため、既存環境への影響はありません。
リリース日: 2026-07-19 担当: プロサーバーエンジニア(Claude)