Python中如何在Windows上更新Python版本而不影响已安装的库

卸载重装,工作量就大了,而且库是不是也不保了
Python中如何在Windows上更新Python版本而不影响已安装的库

17 回复

在Windows上更新Python版本同时保留已安装的库,可以按以下步骤操作:

  1. 备份当前环境(关键步骤):
# 导出已安装包列表
pip freeze > requirements.txt
  1. 安装新版本Python
  • 从官网下载新版安装包
  • 安装时勾选"Add Python to PATH"
  • 建议自定义安装路径(如C:\Python39
  1. 迁移库到新环境
# 使用新版本的pip安装旧环境的所有包
pip install -r requirements.txt
  1. 验证迁移结果
# 检查关键库是否正常
python -c "import numpy, pandas; print('迁移成功')"

注意:某些库可能有版本依赖问题,如果遇到兼容性问题,可以:

# 先安装基础依赖再逐个安装
pip install --upgrade pip setuptools wheel
pip install -r requirements.txt --no-deps  # 跳过依赖检查

总结:通过导出依赖清单再重新安装是最稳妥的方法。

用 conda 咯。

是在虚拟环境里吗

windows 很方便的,不用卸载,直接安装新版,然后你就同时拥有两个 Python 版本了,这两个是共存的,用 py 命令来区分使用,比如 py -3.6 或 py -3.7 即可运行指定版本。还可以这样选择性用 pip,比如 py -3.6 -m pip --version

pip list --format freeze > requirements.txt
newpip install -r requirements.txt

等等咯, 如果放心的话, 直接把已有的纯 Python 的库 move 到新的 site-packages 中, 不过这样需要人肉甄别一遍, 对于大部分都是几百 KB 的 Python 库而言, 不划算.

直接下载新版,覆盖老版安装。提到这,就说明 Mac 在更新时的方便了,执行 brew upgrade 就行了

如果不是 2 到 3 的升级只是普通的升级的话直接下载安装就行了啊,我试过 2.7.5 直接升级到最新的 2.7.15 ,库都在

按 4 楼老哥说的这样的话,这样装,不是有 2 个版本了,我不想要 2 个版本啊

前面说了的,覆盖安装,比如当前安装在 C:\Program Files\Python3 下,新下载的安装包也安装在这个目录下

pip 有个子命令 freeze -> Output installed packages in requirements format.

直接装 2 个版本就可以了,在环境变量 path 里添加 2 个的安装目录。然后把环境变量 PYTHON 设置到你常用版本的安装目录,这样命令行下“ py ”的就是你常用的版本。

把 Lib\site-packages 拷贝出来呗,不过只能用来更新小版本比如 3.5.0-》 3.5.1 不能 3.5-》 3.6

没记错的话 Python for Windows 小版本可以直接更新 (如 3.6 -> 3.6.1) ,大版本可以共存 (3.6 和 3.7 是安装到两个不同的目录的)。

直接覆盖,有什么问题?

可是遇到的情况是 newpip 安装的模块都跑到 C:\Users\Username|Local\pip\cache 下了,而不是新安装 python 目录下的 site-package 里面,所以新 python 里面也 import 不了,还是 newpip install modulename 一个一个的才会安装到 site-package 目录下

回到顶部