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

如何更新pyenv安装的pip版本?Python3.6.5环境问题咨询

解决pyenv创建Python 3.6.5环境时pip版本老旧的问题

嘿,我来帮你捋清楚这个问题——你遇到的麻烦其实不是pyenv的问题,而是Python版本本身的特性导致的。Python 3.6.5在官方发布的时候,捆绑的pip版本就是9.0.3,pyenv只是负责编译安装官方的Python源码包,所以不管你怎么更新pyenv、重新安装这个特定的Python版本,自带的pip都还是旧的。

那该怎么解决呢?给你几个实用的方案:

方案1:创建虚拟环境时自动更新pip

每次创建虚拟环境后立刻执行升级命令,你可以把这两个步骤合并成一行:

pyenv virtualenv 3.6.5 my-new-env && pyenv activate my-new-env && pip install --upgrade pip setuptools wheel

这样新环境一创建好,pip就自动升到兼容3.6.5的最新版本了(注意:Python 3.6已经停止维护,最新的pip可能不再支持它,所以会自动安装适配的最高版本)。

方案2:修改pyenv的安装钩子,让Python编译后自动升级pip

如果不想每次手动敲命令,你可以给pyenv加个钩子,让它在安装Python 3.6.5的时候自动升级pip:

  1. 找到pyenv的Python版本配置文件,路径大概是~/.pyenv/plugins/python-build/share/python-build/3.6.5
  2. 打开这个文件,在末尾添加一行:
post_install "pip install --upgrade pip setuptools wheel"

保存后,重新用pyenv install 3.6.5安装这个版本,这次编译完成后,pip就会自动升级了。

方案3:批量更新已有的虚拟环境pip

如果你已经有一堆旧的虚拟环境,一个个手动更新太麻烦,可以用这个shell脚本批量处理:

#!/bin/bash
# 遍历pyenv的所有版本目录
for env_dir in ~/.pyenv/versions/*/; do
    # 判断是不是虚拟环境(有activate脚本)
    if [ -f "${env_dir}bin/activate" ]; then
        echo "正在更新 ${env_dir} 中的pip..."
        # 激活环境、升级、退出
        source "${env_dir}bin/activate"
        pip install --upgrade pip setuptools wheel
        deactivate
    fi
done

把这段代码保存成update_pips.sh,给它加执行权限chmod +x update_pips.sh,然后运行就行。

总结一下:完全不用等pyenv更新,问题的根源是Python 3.6.5本身捆绑的pip版本,用上面的任意一种方法都能解决你的麻烦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:19:09