首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更新Python时保留已安装的软件包

更新Python时保留已安装的软件包
EN

Stack Overflow用户
提问于 2020-03-05 22:14:23
回答 3查看 1.4K关注 0票数 5

我已经在Windows10上安装了python 3.7。升级到3.8的推荐方法似乎是重新安装,这意味着我会同时安装两个版本。我不需要两个版本,但我想保留我为3.7版安装的所有包。

我该如何实现这一点?另外,3.8版本的新path变量会取代3.7版本的path变量吗?

这种常见用例的流程看起来异常复杂。我是不是遗漏了什么?

EN

回答 3

Stack Overflow用户

发布于 2020-03-05 22:20:20

简单的解决方案将在CMD中完成

代码语言:javascript
运行
复制
pip freeze > packages.txt

这会将您当前的所有包写入文本文件'packages.txt‘

然后像卸载任何Windows程序一样卸载Python 3.7,然后在CMD中安装Python 3.8

代码语言:javascript
运行
复制
pip install -r packages.txt

这将安装您以前拥有的所有包。

不过,我建议您使用conda作为Python的免提版本和包,以及环境。

票数 1
EN

Stack Overflow用户

发布于 2020-03-05 22:26:08

执行此操作的一种方法是运行:

代码语言:javascript
运行
复制
python3.7 -m pip freeze > installed.txt

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

代码语言:javascript
运行
复制
python3.8 -m pip install -r installed.txt

您为旧的Python安装安装的包可能与新版本不兼容。因此,更安全的做法是保留两个Python安装,然后对每个项目使用虚拟环境。

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

另请参阅What is a virtualenv, and why should I use one?

票数 1
EN

Stack Overflow用户

发布于 2020-03-05 22:19:59

我建议使用conda来管理您的环境。

https://docs.conda.io/projects/conda/en/latest/user-guide/install/windows.html

对于我参与的大多数涉及python的开发项目,目前的想法是版本和库是基于每个项目指定的。Conda允许您冻结环境,使其更具可移植性。您可以生成一个environment.yml文件,允许他人从头开始重新创建您的环境,并且您可以只维护给定项目所需的包。

根据您最初的问题,您可以将PYTHONPATH设置为指向旧目录和新目录。我不能保证这些库能正常工作,因为可能会有版本兼容性问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60547332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档