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>
59 lines
2.4 KiB
Markdown
59 lines
2.4 KiB
Markdown
# 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)
|