首页 > 解决方案 > 更新 Python 时保留已安装的软件包

问题描述

我在 Windows 10 上安装了 python 3.7。升级到 3.8 的推荐方法似乎是重新安装,这意味着我将安装两个版本。我不需要这两个版本,但我想保留我为 3.7 版安装的所有软件包。

请问我该如何实现?3.8 的新路径变量也会替换 3.7 的路径变量吗?

这种常见用例的过程似乎异常复杂。我错过了什么吗?

标签: pythoninstallation

解决方案


一种方法是运行:

python3.7 -m pip freeze > installed.txt

然后,在安装新的 Python 版本后,您可以使用以下命令安装软件包:

python3.8 -m pip install -r installed.txt

您为旧 Python 安装安装的软件包可能与新版本不兼容。出于这个原因,保留两个 Python 安装,然后为每个项目使用虚拟环境会更安全。

您可以为每个项目创建一个 virtualenv,使用该项目所需的 Python 版本,并仅在该特定项目的 virtualenv 中安装您的依赖项。这样可以避免项目 A 需要某个包的旧版本而项目 B 需要更新版本的情况。如果您在全局范围内安装所有软件包,在这种情况下您会遇到问题。

另请参阅什么是 virtualenv,我为什么要使用它?


推荐阅读