python多版本与虚拟环境

为什么要使用多个版本的python?

前几天想研究insar,发现了有个第三方库pygmtsar。在pip insatll pygmtsar 完成后,测试一下import pygmtsar 语句,竟然报错。

搜索一遍后,发现是 distributed这个库不支持python3.9.1。

简单的解决办法是把python的版本升级。但是升级是不可能升级的,升级了其它库是不是得重新装。

多版本python的windows10 环境

于是不如多下载一个python版本。

image-20231114142901405

安装好后,把python.exe复制粘贴,把复制的文件改名为python311.exe。

image-20231114143509263

把D:\py311 添加到系统环境变量。

把D:\py311\Lib\site-packages 添加到系统环境变量。

在终端/cmd命令行输入

python311

image-20231114144142794

测试完成。

进入D:\py311\Scripts,把pip.exe改名为pip311.exe

image-20231114144505215

为什么会用虚拟环境?

作为一个使用python开发过大型项目的同学,一定会碰到python库的版本依赖。

例如 直接依赖:

  • A项目:使用 django 2.2
  • B项目:使用 django 3.1

还有复杂的间接依赖:

  • A项目:使用A框架 ——> 依赖 requests 1.10
  • B项目:使用B库 ——> 依赖 requests 2.x

而你又需要同时开发A、B两个项目,总不能在运行不同的项目的时候,就把不同项目的依赖库装一遍吧!