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

解锁动态规划的奥秘:从零到精通的创新思维解析(9)

解锁动态规划的奥秘:从零到精通的创新思维解析(9)

前言:         小编在前几日写了关于动态规划中的多状态dp的问题,此时小编将会讲述一个动态规划我们常常会遇到的一类问题——股票问题,股票问题就类似小编上一篇所讲述的粉刷房子的问题,可以通过一个二维的dp表来代替多个一维的dp表。买卖股票算是一个很经典的问题了,下面小编简单介绍一下买卖股票问题。         “买卖股票问题”作为动态规划的经典案例,不仅在编程竞赛中频繁出现,也是面试中的常考题目。这类问题以其现实背景的贴近性和解法的多样性著称,不仅考察了对动态规划核心思想的掌握,还能帮助我们深入理解状态转移、子问题划分以及优化策略。         从最基本的一次买卖股票问题,到允许多次买卖甚至设置冷却期和手续费的复杂变体,每一步都体现了动态规划在不同约束条件下的灵活性与精妙性。本篇内容将以逐步深入的方式,剖析买卖股票问题的不同场景,通过数学建模和代码实现,让读者能够全面掌握这一重要的动态规划应用,并在实际问题中灵活运用。 目录 1.买卖股票的最佳时机含冷却期 1.1.题目来源 1.2.题目分析 1.3.思路讲解 1.状态表示 1.2.状态转换方程 3.初

By Ne0inhk
【数据结构与算法】(LeetCode)141.环形链表 142.环形链表Ⅱ

【数据结构与算法】(LeetCode)141.环形链表 142.环形链表Ⅱ

文章目录 * 引言 * 环形链表判断 * 问题描述 * 解决方案:快慢指针法 * 原理分析 * 为什么快慢指针一定能相遇? * 步长选择的数学分析 * 环形链表Ⅱ * 方法一 * 方法二:转换为相交链表问题 * 算法思路 * 实际应用与扩展 * 应用场景 引言 环形链表问题是数据结构与算法中的经典问题,在面试中出现频率极高。这类问题不仅考察对链表结构的理解,更考验解决问题的思维能力和数学分析能力。本文将详细分析环形链表的判断方法以及环入口节点的定位算法,帮助读者深入理解这一重要问题。 环形链表判断 问题描述 给定一个链表的头节点 head,判断链表中是否存在环。 解决方案:快慢指针法 快慢指针法是解决环形链表问题的经典方法,其核心思想是使用两个指针以不同速度遍历链表。 bool hasCycle(structListNode*head){structListNode* slow=head,*fast=head;while(fast&&fast->next){ slow=slow-&

By Ne0inhk
蓝桥杯C++组算法知识点整理 · 考前突击(上)【小白适用】

蓝桥杯C++组算法知识点整理 · 考前突击(上)【小白适用】

【背景说明】本文的作者是一名算法竞赛小白,在第一次参加蓝桥杯之前希望整理一下自己会了哪些算法,于是有了本文的诞生。分享在这里也希望与众多学子共勉。如果时间允许的话,这一系列会分为上中下三部分和大家见面,祝大家竞赛顺利! 【文风说明】本文主要会用代码+注释的方式来解释内容。相信学过编程的人都会发现程序比长篇大论更易理解! 目录 一、语言基础 1.1 编程基础 1.2 竞赛常用库函数 1.2.1 sort 函数 1.2.2 最值查找 1.2.3 二分查找 1.2.4 大小写转换 1.2.5 全排列 1.2.6 其它库函数整理 1.3 STL的用法 1.

By Ne0inhk
【C++】哈希扩展——位图和布隆过滤器的介绍与实现

【C++】哈希扩展——位图和布隆过滤器的介绍与实现

各位读者大佬好,我是落羽!一个坚持不断学习进步的学生。 如果您觉得我的文章还不错,欢迎多多互三分享交流,一起学习进步! 也欢迎关注我的blog主页:落羽的落羽 文章目录 * 一、位图 * 1. 概念与实现 * 2. std::bitset * 二、布隆过滤器 * 1. 概念 * 2. 布隆过滤器误判率数学推导 * 3. 实现 一、位图 1. 概念与实现 在许多公司的面试题中会考到这样的场景:给40亿个不重复无符号整数,如何快速判断一个数是否在这40亿数中。 如果使用常规思路,每次查询暴力遍历O(N)太慢,排序+二分查找O(NlogN)+O(logN),内存不足以放下这些数据。 数据是否在给定的整型数据中,结果是在或不在,正好是两种状态,那么可以用一个二进制比特位来代表数据是否存在的信息,比特位为1代表存在,比特位为0代表不在。那么,我们可以设计一个用比特位表示数据是否存在的数据结构——位图!

By Ne0inhk