如何让新建Python3虚拟环境默认使用全局安装的最新pip版本
新建Python虚拟环境默认使用全局最新pip版本的解决方案
出现该问题的核心原因是Python标准库的venv模块默认调用内置ensurepip组件捆绑的pip版本创建虚拟环境,和全局安装的pip版本无关,可根据使用场景选择以下方案解决:
方案一:创建虚拟环境时跳过内置pip(无需修改系统文件)
创建虚拟环境时添加--without-pip参数跳过内置pip安装,新建的虚拟环境会直接继承全局pip配置,默认使用全局已安装的21.2.4版本:
python3 -m venv --without-pip 你的虚拟环境名称
注意:该方案需要确保全局Python的环境变量配置正常,不会出现多版本Python调用冲突的问题。
方案二:更新ensurepip捆绑的pip版本(一劳永逸)
修改全局Python的ensurepip组件默认绑定的pip版本,后续所有新建虚拟环境都会自动使用你指定的pip版本,操作步骤如下:
- 执行命令查看全局ensurepip组件的路径:
python3 -c "import ensurepip; print(ensurepip.__path__)" - 进入输出路径下的
_bundled文件夹,删除目录内旧版本的pip安装包(格式为pip-21.1.3-py3-none-any.whl) - 将21.2.4版本的pip wheel包放入该文件夹即可
方案三:使用别名简化操作(适合临时高频创建虚拟环境场景)
在终端配置文件中添加自定义别名,一键完成虚拟环境创建+pip升级操作:
- Linux/macOS用户:编辑
~/.bashrc或~/.zshrc文件,添加如下内容:alias venvcreate='f(){ python3 -m venv "$1" && source "$1/bin/activate" && pip install --upgrade pip==21.2.4; }; f'
配置生效后执行venvcreate 虚拟环境名称即可自动完成全流程操作 - Windows用户:可在PowerShell的Profile配置文件中添加对应别名实现相同效果
特殊场景:使用virtualenv工具的处理方式
如果你使用的是第三方virtualenv工具而非Python标准库的venv,只需升级全局的virtualenv即可:
pip3 install --upgrade virtualenv
升级后virtualenv创建虚拟环境时会默认调用最新的pip版本。
内容的提问来源于stack exchange,提问作者ManuelMB
相关产品推荐
相关产品推荐

