You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自动在Pipfile中固定版本?阻止pipenv安装时更新所有包

解决pipenv install时自动固定版本并阻止全局更新的问题
  • 阻止安装新包时更新所有依赖
    每次执行安装命令时加上--keep-outdated参数,这样pipenv只会处理你指定的目标包,不会检查和更新已有的依赖包:
pipenv install somepackage --keep-outdated
  • 自动将新包版本固定到Pipfile
    默认情况下,pipenv会在Pipfile中写入通配符版本(比如somepackage = "*"),要自动替换为精确版本,可以用以下脚本整合到安装流程中:
# 定义要安装的包名
PACKAGE="somepackage"

# 安装包并保留现有依赖版本
pipenv install "$PACKAGE" --keep-outdated

# 获取已安装包的精确版本
VERSION=$(pipenv run pip show "$PACKAGE" | grep -Po '(?<=Version: ).*')

# 替换Pipfile中的通配符版本为精确版本
sed -i.bak "s/$PACKAGE = \".*\"/$PACKAGE = \"==$VERSION\"/" Pipfile
rm Pipfile.bak

你也可以把这段逻辑做成shell别名,方便日常使用:

alias pipenv-fix-install='function _pipenv_fix_install() { PACKAGE="$1"; pipenv install "$PACKAGE" --keep-outdated; VERSION=$(pipenv run pip show "$PACKAGE" | grep -Po "(?<=Version: ).*"); sed -i.bak "s/$PACKAGE = \".*\"/$PACKAGE = \"==$VERSION\"/" Pipfile; rm Pipfile.bak; }; _pipenv_fix_install'

之后直接执行pipenv-fix-install somepackage就能完成自动固定版本+阻止全局更新的操作。

内容的提问来源于stack exchange,提问作者jjk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 04:04:53