Files
phpfpm/CHANGELOG-8.5.8-a.md
claudeandClaude Fable 5 3d384ab72e
Helm Chart Release / release-chart (push) Successful in 5s
feat: Python導入オプションを追加 (v8.5.8-a)
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>
2026-07-25 21:23:20 +09:00

2.4 KiB
Raw Permalink Blame History

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)。

使用例

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)