Windows系统上Python如何升级及版本管理

Windows系统上Python如何升级及版本管理

前言

用户经常在使用python时候,发现版本升级过快,不同的项目可能用到不同的python版本,本文就windows下,关于Python 3.11 升级到 Python 3.12做一个简单的记录和介绍。希望能帮助到你。

一、版本确认与环境准备

  1. 检查当前版本
    在命令提示符中输入:
        python --version

若显示Python 3.11.x,则说明当前环境为目标升级前状态。

  1. 备份关键数据

对于需要升级的项目,可以导出依赖列表:

pip freeze > requirements.txt

备份项目文件和配置文件至安全目录。

二、升级路径选择

(一)官方安装程序升级(推荐)
  1. 下载 Python 3.12 安装包
    访问Python 官方下载页面,选择Windows installer (64-bit)(根据系统位数选择),确保下载版本为 3.12。
  2. 运行安装程序
    • 勾选Add Python 3.12 to PATH,确保系统自动配置环境变量9。
    • 建议选择Customize installation自定义安装路径(如D:\Python312),避免与旧版本路径冲突。
  3. 验证安装
    重新打开命令提示符,输入:
python --version

若显示Python 3.12.x,则升级成功。

(二)命令行升级(适合高级用户)

使用 pip 升级

pip install --upgrade python==3.12.0

若需指定国内镜像源(提升下载速度):

pip install --upgrade python==3.12.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

注意:此方法可能因依赖冲突导致升级失败,建议优先使用官方安装程序

通过 conda 升级(虚拟环境场景)

激活目标环境:

conda activate myenv

升级 Python 版本:

conda install python=3.12

更新所有依赖包:

conda update --all

此方法可保持环境一致性,适合数据科学项目

三、旧版本卸载与环境清理

若需完全移除 Python 3.11:

通过控制面板卸载

  • 进入设置 > 应用 > 应用和功能,搜索 "Python 3.11",点击卸载并按提示完成操作

手动清理残留文件

  • 删除安装目录(默认:C:\Users\<用户名>\AppData\Local\Programs\Python\Python311)。
  • 检查环境变量:
    • 右键此电脑 > 属性 > 高级系统设置 > 环境变量
    • 系统变量用户变量Path中删除 Python 3.11 相关路径。

四、环境变量优化与多版本共存

保留旧版本(可选)

安装 Python 3.12 时选择不同路径(如D:\Python312),避免覆盖旧版本。

使用py launcher 管理多版本:

py --list # 查看所有已安装的Python版本
py -3.12 your_script.py # 指定使用Python 3.12运行脚本

此方法可实现平滑过渡,逐步验证新版本兼容性

更新默认 Python 版本

  • 若需将 Python 3.12 设为默认版本,确保其路径在Path变量中排在 Python 3.11 之前。

通过以上步骤,您可以在 Windows 系统上安全、高效地完成 Python 版本升级,同时保持开发环境的稳定性和兼容性。建议在升级前备份关键数据,并在非生产环境中进行充分测试。

Read more

【动态规划:01背包】01背包详解 && 模板题 && 优化

【动态规划:01背包】01背包详解 && 模板题 && 优化

文章目录 * 背包问题概述 * 01 背包(medium) * 1、第一问解题思路 * 状态表示 * 状态转移方程 * 初始化 * 遍历顺序 * 返回值 * 2、第二问解题思路 * 状态表示修改 * 状态转移方程细节修改 * 初始化修改 * 代码 * 💥优化 * 优化后的代码 背包问题概述 终于到了动态规划的一类很有名的问题,背包问题了!为什么背包问题让人听起来就怕呢,因为它是基于动态规划的,本身动态规划就是千变万化,再加上背包问题的一些限定条件,使得背包问题也是分为很多类不同的问题,如 01背包、完全背包等等。 背包问题 (Knapsack problem) 其实也是⼀种组合优化的 NP完全问题。其问题可以描述为:给定⼀组物品,每种物品都有⾃⼰的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最⾼。 根据物品的个数,分为如下几类: 01 背包问题:每个物品只有一个完全背包问题:

By Ne0inhk

数字万用表检测_Mask R-CNN实现与算法详解

1. 数字万用表检测_Mask R-CNN实现与算法详解 💡🔧 本篇文章仅是个人经过阅读原文和相关博客后的简单总结,其中的理解可能有误,望各位大佬批评指导。🙏 本文分为两个部分分别是HRNetV2(High-resolution Represents net)和OCR(Object-Contextual Represent)部分。 参考资料如下: 论文: 作者:Ke Sun 中国科学技术大学,亚洲微软研究院 2019 论文: 作者:Yuhui Yuan 中国科学院计算所,亚洲微软研究院 2020 博客: 作者:太阳花的小绿豆 博客: 作者:gdtop818 博客: 作者:vincent 我总结的模型代码: 1.1. 创新点 1.1.1. HRNetv2创新点 其实也是HRNetV1的创新点。相对于V1而言,V2是最后输出使用了全部的多尺度特征,

By Ne0inhk
【LeetCode 704 & 34_二分查找】二分查找 & 在排序数组中查找元素的第一个和最后一个位置

【LeetCode 704 & 34_二分查找】二分查找 & 在排序数组中查找元素的第一个和最后一个位置

场景应用 在算法学习中,二分查找是一种高效的查找算法,其时间复杂度为 O ( l o g n ) O(log n) O(logn),适用于有序数组的查找场景。在实际场景中,当只需判断目标值是否存在于有序数组中,且数组内元素唯一时,用最简单的基础二分查找就足够,比如在按学号有序排列的唯一学生ID数组中查找某学生是否存在、在无重复的商品编码有序列表中检索指定编码是否存在;而当有序数组中存在重复的目标值,且需要确定目标值的范围边界时,就需要用查找左右边界的二分查找,比如在按时间戳排序的重复打卡记录中找某员工首次和末次打卡的位置、在成绩有序数组中找某分数出现的起始和结束排名、在商品销量统计的有序数组中找某一销量值对应的首个和最后一个商品下标。 * 场景应用 * 一、二分查找 * 1.1 题目链接 * 1.2 题目描述 * 1.3 题目示例 * 1.4 算法思路 * 1.5 核心代码 * 1.6 示例测试(总代码) * 二、

By Ne0inhk
【 C/C++ 算法】入门动态规划-----路径问题(以练代学式)

【 C/C++ 算法】入门动态规划-----路径问题(以练代学式)

>每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论 : 本章是动态规划的第二篇,本章将开始二维的动态规划,在二维中的动态规划本质和一维的分析来说差不太多,只不过状态表示从一维变成了二维,而在二维上所能管理的状态就从一维的两个变成了二维的三个,也就是x轴,y轴,数组中的值。若没看了解过动规算法,我强烈建议先看第一篇blog,因为当你看完第一篇你就对动规基本认识了,其中也就能认识到它的五步骤分析法,这里也就不扩充说明而是直接使用了 ———————— 早关注不迷路,话不多说安全带系好,发车啦(建议电脑观看)。 路径问题🛣️ 本章主要还是在二维数组中的进行的动态规划: 同样还是五步走:状态表示、状态方程、初始化、移动方向、返回结果 1. 其中在二维中状态表示就会和一位略有不同,不同本质一样: 从以 i 结尾.,… ==》从左上角到达 i j 位置,… 1. 当然在最后一题中发现上面这种常规方法实现不通,因为状态方程会受后面状态影响 2.

By Ne0inhk