我已经在Windows10上安装了python 3.7。升级到3.8的推荐方法似乎是重新安装,这意味着我会同时安装两个版本。我不需要两个版本,但我想保留我为3.7版安装的所有包。
我该如何实现这一点?另外,3.8版本的新path变量会取代3.7版本的path变量吗?
这种常见用例的流程看起来异常复杂。我是不是遗漏了什么?
发布于 2020-03-05 22:20:20
简单的解决方案将在CMD中完成
pip freeze > packages.txt
这会将您当前的所有包写入文本文件'packages.txt‘
然后像卸载任何Windows程序一样卸载Python 3.7,然后在CMD中安装Python 3.8
pip install -r packages.txt
这将安装您以前拥有的所有包。
不过,我建议您使用conda作为Python的免提版本和包,以及环境。
发布于 2020-03-05 22:26:08
执行此操作的一种方法是运行:
python3.7 -m pip freeze > installed.txt
然后,在安装新的Python版本之后,您可以使用以下命令安装这些包:
python3.8 -m pip install -r installed.txt
您为旧的Python安装安装的包可能与新版本不兼容。因此,更安全的做法是保留两个Python安装,然后对每个项目使用虚拟环境。
您可以使用项目所需的Python版本为每个项目创建一个virtualenv,并仅在该特定项目的virtualenv中安装依赖项。这样,您就可以避免项目A需要某个包的旧版本,而项目B需要较新版本的情况。如果你全局安装你的所有包,在这种情况下你会遇到问题。
发布于 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设置为指向旧目录和新目录。我不能保证这些库能正常工作,因为可能会有版本兼容性问题。
https://stackoverflow.com/questions/60547332
复制相似问题