如何通过uv/pyproject.toml限制包版本,避免安装最新版本?
关于uv和pyproject.toml限制包版本的问题
目前uv的官方文档里,并没有支持在pyproject.toml中配置类似“仅安装发布时间超过X天的版本”的参数——你提到的那种设置“5 days”的功能,当前uv并不提供。
如果要避免安装最新版本,常规的替代方案有这些:
- 在pyproject.toml的
dependencies字段里直接指定版本范围,比如:dependencies = [ "requests>=2.25.0,<2.32.0", "fastapi~=0.100.0" # 仅匹配0.100.x系列的版本 ] - 使用
uv add --pin <package>命令安装包时直接固定具体版本,uv会自动将固定版本写入pyproject.toml。 - 生成并使用
requirements.txt锁定所有依赖版本,后续用uv pip install -r requirements.txt安装,确保每次都用锁定的版本。
如果确实需要基于发布时间筛选版本,目前只能通过自定义脚本实现:调用PyPI的API查询目标包的所有版本发布时间,筛选出符合“发布超过X天”条件的版本,再生成对应的版本约束交给uv处理。
内容的提问来源于stack exchange,提问作者TkrA
相关产品推荐
相关产品推荐

