同时安装并使用多个 Python 版本

在一台机器上同时安装并使用多个 Python 版本(例如 Python 3.9 和 Python 3.11)是完全可行的。以下是一些常见的方法和步骤,帮助你实现 Python 3.9 和 Python 3.11 的共存并确保它们都能正常生效。

### 方法一:通过官方安装程序安装(Windows)

1. **下载 Python 安装程序**:
   - 访问 [Python 官方网站](https://www.python.org/downloads/)。
   - 分别下载 Python 3.9 和 Python 3.11 的安装程序。

2. **安装 Python 3.9**:
   - 运行 Python 3.9 的安装程序。
   - 在安装过程中,确保勾选以下选项:
     - **Add Python to PATH**:将 Python 3.9 添加到系统的环境变量。
     - **Customize installation**:自定义安装路径(建议选择不同的目录,例如 `C:\Python39`)。
   - 完成安装。

3. **安装 Python 3.11**:
   - 运行 Python 3.11 的安装程序。
   - 同样勾选 **Add Python to PATH** 和 **Customize installation**。
   - 选择不同的安装路径(例如 `C:\Python311`)。
   - 完成安装。

4. **验证安装**:
   - 打开命令提示符(CMD)或 PowerShell。
   - 输入以下命令验证 Python 3.9 是否可用:
     ```bash
     C:\Python39\python.exe --version
     ```
   - 输入以下命令验证 Python 3.11 是否可用:
     ```bash
     C:\Python311\python.exe --version
     ```

5. **使用别名或环境变量**:
   - 如果需要快速切换 Python 版本,可以通过环境变量或别名来实现。
   - 例如,在 CMD 中设置别名:
     ```bash
     set PYTHON39=C:\Python39\python.exe
     set PYTHON311=C:\Python311\python.exe
     ```
   - 或者在 PowerShell 中设置别名:
     ```powershell
     Set-Alias -Name python39 -Value "C:\Python39\python.exe"
     Set-Alias -Name python311 -Value "C:\Python311\python.exe"
     ```

### 方法二:使用 `pyenv` 管理多个 Python 版本(Windows)


`pyenv` 是一个流行的工具,用于在系统上安装和管理多个 Python 版本。

1. **安装 `pyenv`**:
   - 使用 [pyenv-win](https://github.com/pyenv-win/pyenv-win)(`pyenv` 的 Windows 版本)。
   - 按照 [安装指南](https://github.com/pyenv-win/pyenv-win#installation) 安装 `pyenv`。

2. **安装 Python 版本**:
   - 打开命令提示符或 PowerShell。
   - 安装 Python 3.9:
     ```bash
     pyenv install 3.9.0
     ```
   - 安装 Python 3.11:
     ```bash
     pyenv install 3.11.0
     ```

3. **切换 Python 版本**:
   - 使用 `pyenv global` 设置全局默认 Python 版本:
     ```bash
     pyenv global 3.9.0
     ```
   - 或者在特定项目目录中使用 `pyenv local` 设置本地 Python 版本:
     ```bash
     pyenv local 3.11.0
     ```

4. **验证安装**:
   - 输入以下命令验证当前 Python 版本:
     ```bash
     python --version
     ```

### 方法三:使用虚拟环境(适用于所有平台)


虚拟环境是 Python 的一种隔离环境,允许你在不同项目中使用不同版本的 Python 和依赖。

1. **安装 Python 3.9 和 Python 3.11**:
   - 按照方法一安装 Python 3.9 和 Python 3.11。

2. **创建虚拟环境**:
   - 创建一个基于 Python 3.9 的虚拟环境:
     ```bash
     C:\Python39\python.exe -m venv myenv39
     ```
   - 创建一个基于 Python 3.11 的虚拟环境:
     ```bash
     C:\Python311\python.exe -m venv myenv311
     ```

3. **激活虚拟环境**:
   - 激活 Python 3.9 的虚拟环境:
     ```bash
     myenv39\Scripts\activate
     ```
   - 激活 Python 3.11 的虚拟环境:
     ```bash
     myenv311\Scripts\activate
     ```

4. **验证虚拟环境**:
   - 在激活的虚拟环境中,输入以下命令验证 Python 版本:
     ```bash
     python --version
     ```

### 总结
- 如果你只需要简单地安装多个 Python 版本并手动切换,可以使用方法一。
- 如果你需要灵活切换 Python 版本,推荐使用 `pyenv`(方法二)。
- 如果你需要为不同项目隔离环境,推荐使用虚拟环境(方法三)。

根据你的需求选择合适的方法即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/977589.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第48天:Web开发-JavaEE应用依赖项Log4j日志Shiro验证FastJson数据XStream格式

#知识点 1、安全开发-JavaEE-第三方依赖开发安全 2、安全开发-JavaEE-数据转换&FastJson&XStream 3、安全开发-JavaEE-Shiro身份验证&Log4j日志处理 一、Log4j 一个基于Java的日志记录工具,当前被广泛应用于业务系统开发,开发者可以利用该工…

计算机毕业设计SpringBoot+Vue.js中小型医院网站(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

在 compare-form.vue 中添加 compareDate 隐藏字段,并在提交时自动填入当前时间

在 compare-form.vue 中添加 compareDate 隐藏字段,并在提交时自动填入当前时间。 提交表单时存入的对象是FakeRegistration,这个对象里面有compareDate字段,刚好表格查询的对象也是FakeRegistration,所以表格展示的时间就是刚才…

ARM Cortex-M处理器中的MSP和PSP

在ARM Cortex-M系列处理器中,MSP(主堆栈指针)和PSP(进程堆栈指针)是两种不同的堆栈指针,主要用于实现堆栈隔离和提升系统可靠性。以下是它们的核心区别和应用场景: 1. 基本定义 MSP(…

STM32——HAL库开发笔记24(定时器5—超声波测距)(参考来源:b站铁头山羊)

一、原理 本次实验采用HC-SR04超声波传感器,结构及功能如下图 超声波传感器可以用来测距。距离 声速(340m/s) *传播时间 / 2。 这个传感器有四个引脚,其中VCC接电源正极,GND接电源负极 , Trig : 用来启动测量 &…

LCC并行光模块、PLCC并行光模块和POB并行光模块的区别

一、封装结构与材料差异 PLCC(Plastic Leaded Chip Carrier) 封装材料:采用塑料材质,引脚数量较多(20-84个),引脚分布在四周12散热设计:通常通过PCB基板嵌装铜散热片提升散热性能8…

WIFI的SSID超长,隐藏,重复 (2.4G和5G差异)

目录 1、2.4G和5G的频率范围‌ 2、2.4G和5G的差异‌: 3、隐藏ssid显示为\x00 4、 重复的ssid名称 扩展 前言 最近处理wifi设备时发现,小小一个ssid就有超多的问题。 不是中文转义就是超长,现在还发现空字符的,原来时对方路由隐藏了…

FS800DTU联动OneNET平台数据可视化View

目录 1 前言 2 环境搭建 2.1 硬件准备 2.2 软件环境 2.3 硬件连接 3 注册OneNET云平台并建立物模型 3.1 参数获取 3.2 连接OneNET 3.3上报数据 4 数据可视化View 4.1 用户信息获取 4.2 启用数据可视化View 4.3 创建项目 4.4 编辑项目 4.5 新增数据源 4.6 数据过滤器配置 4.6 项…

Linux时间日期类指令

1、data指令 基本语法: date : 显示当前时间date %Y : 显示当前年份date %m : 显示当前月份date %d : 显示当前哪一天date “%Y-%m-%d %H:%M:%S" : 显示年月日时分秒date -s 字符串时间 : 设置系统时…

Elasticsearch:使用经过训练的 ML 模型理解稀疏向量嵌入

作者:来自 Elastic Dai Sugimori 了解稀疏向量嵌入,理解它们的作用/含义,以及如何使用它们实现语义搜索。 Elasticsearch 提供语义搜索功能,允许用户使用自然语言进行查询并检索相关信息。为此,目标文档和查询必须首先…

MagicArticulate: 超48K海量数据革新3D动画,自回归Transformer驱动关节智能生成!

论文链接:https://arxiv.org/pdf/2502.12135 Git链接:https://chaoyuesong.github.io/MagicArticulate/ 亮点直击 首个大规模关节化基准数据集,包含超过33,000个具有高质量关节标注的模型; 一种新颖的两阶段框架,有效…

【洛谷入门赛】B4019 皆与生物有缘

题意 两个老师会对你进行打分,我们要做的是把两个老师每题给的分全加起来,然后 2 \div 2 2 再向上取整,输出这个值即可。 思路 首先,我们要输入。 根据我们总结的题意,我们还需要把所有分数加起来。 因为我们尽…

如何选择更安全的无人自助管理私人影院物联网框架?

对于无人自助管理的私人电影院来说,安全是至关重要的,在物联网层面上,更要确保其相关安全措施,才能更好地安全运转。选择更安全的无人自助管理私人影院物联网框架时,可以从以下几个关键方面进行评估: 1. 安…

基本网络安全的实现

基本网络安全的实现 一 :AAA AAA 是Authentication,Authorization and Accounting(认证、授权和计费)的简 称,它提供了一个用来对认证、授权和计费这三种安全功能进行配置的一致性框架, 它是对网络安全…

【大模型】Ubuntu下 fastgpt 的部署和使用

前言 本次安装的版本为 fastgpt:v4.8.8-fix2。 最新版本fastgpt:v4.8.20-fix2 问答时报错,本着跑通先使用起来,就没有死磕下去,后面bug解了再进行记录。   github连接:https://github.com/labring/FastGPT fastgpt 安装说明&…

python--泰坦尼克号人员存活模型训练+预测

1.先到Kaggle平台下载关于泰坦尼克号的数据。 泰坦尼克号数据集:这是Kaggle上的经典数据集,用于预测乘客是否幸存。 地址:Titanic - Machine Learning from Disaster | Kaggle 包含以下文件: train.csv:训练集&#…

【Azure 架构师学习笔记】- Azure Databricks (12) -- Medallion Architecture简介

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (11) – UC搭建 前言 使用ADB 或者数据湖,基本上绕不开一个架构“Medallion”, 它使得数据管理更为简单有效。ADB 通过…

spring中的注解介绍

本篇文章专门用来介绍spring中的各种注解。 1、RestController 1、含义 2、举例 3、使用场景 RestController 通常用于开发 RESTful API,适合返回 JSON 或 XML 数据的场景 4、总结 RestController 是 Spring 中用于简化 RESTful Web 服务开发的注解,它结…

嵌入式开发:傅里叶变换(5):STM32和Matlab联调验证FFT

目录 1. MATLAB获取 STM32 的原始数据 2. 将数据上传到电脑 3. MATLAB 接收数据并验证 STM32进行傅里叶代码 结果分析 STM32 和 MATLAB 联调是嵌入式开发中常见的工作流程,通常目的是将 STM32 采集的数据或控制信号传输到 MATLAB 中进行实时处理、分析和可视化…

Linux设备驱动开发-SPI驱动开发详解(包含设备树处理详细过程)

基础知识及 SPI 相关结构体介绍 引脚:MISO(master 输入,slave 输出),MOSI(master 输出,slave 输入),片选引脚,SCK(时钟) 控制寄存器&…