实现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. 配置





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

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

相关推荐
老歌老听老掉牙10 小时前
空间曲线数据的拼接与几何变换分析
python·曲线
Cc.Y11 小时前
Java零基础入门:字符串深度掌握——从基础API到StringBuilder性能优化
java·开发语言·性能优化
databook15 小时前
使用 SciPy 库进行时间序列分析
python·数据分析·scipy
java资料站15 小时前
十一、评估测试
开发语言·人工智能·python
szial15 小时前
网络爬虫与 CDP 实战(二):浏览器能访问,Python 却被拒绝?拆开登录态与 CSRF
爬虫·python·csrf
左手の明天15 小时前
SLIP 协议封装与解析详解:原理、C 代码与实战案例
linux·c语言·开发语言·c++
海上小飞龙15 小时前
【KMP算法-下篇】同一道题:Java 库函数 2600 微秒,手写 KMP 16 微秒
java·开发语言·算法
青少儿编程课堂16 小时前
后缀自动机解析:本质不同子串与最长重复片段统计
c++·python·算法·bfs·信息学竞赛
朝朝辞暮i16 小时前
C++ 第 12 课:局部变量、作用域、变量生命周期
开发语言·c++·算法
狗凯之家源码网16 小时前
淘客口令落地页生成器 PHP 版深度评测
开发语言·php