Git Bash执行py -m venv创建虚拟环境报101错误如何解决
问题场景
在Git Bash终端执行py -m venv venv命令创建Python虚拟环境时突发报错,此前相同操作可正常完成,无同类错误历史,返回错误信息如下:
Error: Command '['C:\Users\admin\OneDrive\Desktop\ll_env\Scripts\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 101.
核心诱因
- 目标路径被OneDrive同步锁占用:报错路径显示虚拟环境创建位置处于OneDrive同步的桌面目录下,OneDrive后台同步时会锁定文件读写权限,导致venv创建流程中无法写入pip相关依赖文件
- 本地Python内置
ensurepip组件异常:异常断电、杀毒软件误拦截、Python版本更新中断都可能导致该组件突发损坏 - 目标路径存在残留的旧虚拟环境文件,触发权限或文件冲突
修复方案
按优先级依次尝试,每步操作完成后重新执行虚拟环境创建命令验证是否恢复:
- 规避OneDrive同步锁影响
优先将虚拟环境创建路径切换到未开启OneDrive同步的本地磁盘目录(如D:\code\envs)再执行创建命令。如果必须在当前桌面路径创建,先右键任务栏OneDrive图标,选择暂停同步2小时后重试。 - 跳过默认pip安装环节分步创建
先执行带--without-pip参数的命令创建不含pip的基础虚拟环境:
创建完成后激活虚拟环境,手动执行ensurepip完成pip初始化:py -m venv venv --without-pipsource venv/Scripts/activate py -m ensurepip --upgrade - 修复本地Python的ensurepip组件
以管理员权限打开终端,执行命令强制重装pip与ensurepip组件:py -m pip install --upgrade --force-reinstall pip py -m pip install --upgrade ensurepip - 清理路径残留文件
如果目标路径下存在之前创建失败遗留的ll_env/venv文件夹,先手动完全删除该文件夹后再重新执行创建命令,避免旧文件的权限占用触发报错。
内容的提问来源于stack exchange,提问作者PandaTurtle
相关产品推荐
相关产品推荐

