utils/api_client.py 用 httpx.AsyncClient(http2=True) 发请求,需要 h2 包。 旧 requirements 只写了 httpx,未声明 http2 extra;开发机碰巧已装 h2 所以 未暴露,干净 release 环境启动即报错: Using http2=True, but the 'h2' package is not installed. - requirements.txt: httpx -> httpx[http2] - requirements.lock.txt: httpx[http2]==0.28.1,并显式锁 h2==4.1.0 - scripts/gen_requirements_lock.py: 升级为可解析 extras,自动锁定 extra 引入的传递依赖(如 httpx[http2] -> h2),避免以后重生 lock 丢失 h2; 通用于任意 extra Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
12 lines
263 B
Plaintext
12 lines
263 B
Plaintext
# 运行时直接依赖(人读、宽松,不锁版本,便于开发期升级)。
|
||
# 可复现安装 / release 打包请用 requirements.lock.txt(精确版本)。
|
||
flask
|
||
flask-socketio
|
||
flask-cors
|
||
werkzeug
|
||
httpx[http2]
|
||
openai
|
||
cryptography
|
||
pillow
|
||
websockets
|