实现Python多版本共存

Python 多版本共存 环境变量配置及

在开发过程中,不同项目可能依赖不同 Python 版本(如旧项目需 3.7.x,新项目用 3.14.x),实现多版本共存的核心是环境变量优先级控制虚拟环境隔离。本文将详细拆解配置原理,提供跨系统实操步骤。

一、Python 版本调用的底层逻辑

1. 环境变量(PATH)的作用

  • 系统执行python命令时,会按PATH环境变量中路径的顺序依次查找 Python 解释器(python.exe/python3),找到第一个匹配的解释器后直接执行。

  • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」;

  • 在「系统变量」中找到Path,点击「编辑」,调整排序

2. python.exe 和 pip.exe的作用

(1)python.exe:Python 的 "运行引擎"

  • python.exe 是 Python 解释器的可执行程序,核心作用是执行你的 Python 代码文件,相当于运行 Python 脚本的 "发动机"。
  • 你写的 .py 脚本本身是纯文本,无法直接运行,必须通过 python.exe 解析、编译并执行;
  • 不同 Python 版本(3.7.4/3.14.2)对应各自的 python.exe

(2)pip.exe:Python 的 "软件管家"

  • pip.exe 是 Python 官方的包管理工具,核心作用是安装、卸载、更新 Python 第三方库(比如你要用到的 requests、cryptography 等):
  • Python 自带的基础功能有限,开发时需要的第三方库(如对接 API、加密处理),都靠 pip.exe 从官方仓库下载安装;每个 Python 版本也对应独立的 pip.exe(在 Scripts 目录下)
  • 命令行输入 pip install requests,就是调用默认版本的 pip.exe 下载并安装 requests 库。pip.exe 会绑定对应的 python.exe:比如 3.14.2 的 pip.exe 安装的包,只能被 3.14.2 的 python.exe 识别;这也是多版本共存时,要区分 pip3.4.7和pip3.14.2 的原因 ------ 确保包安装到对应版本的环境中。

二、多版本共存方式1:进入python.exe文件所在文件夹操作

1. 带对应版本的路径直接执行,但是注意python.exe和pip.exe不在一个目录

二、多版本共存方式2:切换PATH环境变量中的路径

1. 配置python.exe环境变量

  • 若 3.14.2 的安装路径在PATH中排前,输入python --version会默认调用 3.14.2;

2. 配置pip.exe环境变量

  • 若 3.14.2 的安装路径在PATH中排前,输入pip --version会默认调用 3.14.2;

四、多版本共存方式3:修改python.exe名字

1. 原理分析

  • 如下图,其实pip.exe和pip3.14.exe是同一个文件,名字不同,所以通过pip --version pip3.14 --version执行结果是一样的
  • 所以根据这个原理,我们更改一下python.exe的名字,这样就可以区分python3.7.4和python3.14.2了
  • 但是这样操作基本功能实现没问题,复杂的调用不确定,可以直接cmd cd 目标python路径,不修改原本文件是最稳妥的,根据自己情况来吧


    2. 配置





不常用的版本按这个进行配置,然后常用的版本正常使用就行了

大家有任何疑问或想法,欢迎在评论区留言讨论,也可以关注我,后续会分享更多实用内容。

相关推荐
BoBoZz191 天前
TextureCutQuadric 利用3D隐式函数(Quadrics)来生成2D纹理坐标
python·vtk·图形渲染·图形处理
dhdjjsjs1 天前
Day58 PythonStudy
开发语言·python·机器学习
你真的可爱呀1 天前
自定义颜色选择功能
开发语言·前端·javascript
mzhan0171 天前
perl: redhat9, perl-interpreter.rpm 一个包分成很多个小包
开发语言·perl·redhat·rpm
福楠1 天前
C++ STL | list
c语言·开发语言·数据结构·c++·算法·list
奔跑的web.1 天前
TypeScript类型系统核心速通:从基础到常用复合类型包装类
开发语言·前端·javascript·typescript·vue
小白学大数据1 天前
百科词条结构化抓取:Java 正则表达式与 XPath 解析对比
java·开发语言·爬虫·正则表达式
AI Echoes1 天前
LangChain 语义文档分割器与其他文档分割器的使用
大数据·人工智能·python·langchain·agent
lbb 小魔仙1 天前
Linux 安全攻防 2025:从 SELinux 配置到漏洞应急响应全流程
linux·python·安全