我在Windows 10上安装了python 3.7。升级到3.8的推荐方法似乎是进行新安装,这意味着我将同时安装两个版本。我不需要两个版本,但我想保留为3.7版安装的所有软件包。
请问我该如何实现?还会为3.8的新新路径变量替换3.7的新路径变量吗?
这种常见用例的过程似乎很复杂。我想念什么吗?
答案 0 :(得分:0)
我建议移至conda来管理您的环境。
https://docs.conda.io/projects/conda/en/latest/user-guide/install/windows.html
对于我涉及python的大多数开发项目,当前的想法是版本和库是在每个项目的基础上指定的。 Conda允许您冻结环境,以使其更便携。您可以生成一个environment.yml文件,该文件允许某人从头开始重新创建您的环境,并且您只能维护给定项目所需的软件包。
按照您的原始问题,可以将PYTHONPATH设置为指向旧目录和新目录。尽管存在版本兼容性问题,但我不能保证这些库能正常工作。
答案 1 :(得分:0)
一个简单的解决方案将在CMD中完成
pip freeze > packages.txt
这会将您当前所有的软件包写入文本文件“ packages.txt”
然后像在任何Windows程序中一样卸载Python 3.7,然后在CMD中安装Python 3.8
pip install -r packages.txt
这将安装您之前拥有的所有软件包。
尽管我建议使用conda作为适合您的Python版本和软件包,以及环境。
答案 2 :(得分:0)
执行此操作的一种方法是运行:
python3.7 -m pip freeze > installed.txt
然后,在安装新的Python版本之后,可以使用以下命令安装软件包:
python3.8 -m pip install -r installed.txt
您为旧的Python安装安装的软件包有可能与新版本不兼容。因此,保留两个Python安装,然后为每个项目使用虚拟环境更为安全。
您可以使用该项目所需的Python版本为每个项目创建一个virtualenv,并仅在该特定项目的virtualenv中安装依赖项。这样,您可以避免项目A需要某个程序包的旧版本,而项目B需要新程序包的情况。如果全局安装所有软件包,则在这种情况下会遇到问题。