对于Python虚拟环境的理解
为什么需要虚拟环境?不直接把所有东西全部安装在系统Python环境中?
我们可以把系统Python环境理解为一个大冰箱,我们项目所需要用到的依赖(如Flask3.0版本)理解为各种啤酒,现在有A,B两个人(把人理解为项目),他们各有所需,A需要”雪花“(某种依赖),而B需要”青岛“(如Flask3.1版本 ),如果,我把这两种啤酒都放在”大冰箱“中(即两个项目对应的环境都是系统Python环境),就可能出现”串味冲突“,有可能A喝的”雪花“里面全是”青岛“的味道(项目A运行时,无法识别3.0版本和3.1版本,导致错用)。
所以我们需要给每种不同的啤酒配置一个小冰箱,也就是给每一个项目配置一个虚拟环境,将每个项目所需要的依赖,全安装在项目所对应的虚拟环境中。这样就不会导致”串味冲突“
//小冰箱可以理解为是 大冰箱的复制版,它与大冰箱没有交集,是单独存在的(小冰箱是“拿系统大冰箱当模板”,复制了一份结构到自己项目里独立运作的小冰箱。之后它自己装啤酒,自己用电,不再跟大冰箱交叉)
//当我在Pycharm中创建两个项目时,如Test_1 和 Test_2。 系统自动创建的虚拟环境名字都为venv,也就是Test_1和Test_2的目录下的虚拟环境名称都为venv,那这样会导致”串味冲突“吗?答案是不会,因为这两个”venv“都存在 在 各自的项目目录下。
//如何看pip当前是在什么环境下:输入where python where pip :在虚拟环境中,它会显示 .venv\Scripts\python.exe
之类的路径;在系统环境中会显示 C:\Python...
。
//一般情况下,我们很难遇到大冰箱,因为无论是cmd中去创建,还是去Pycharm中去创建项目时自动生成的venv(虚拟环境),都是小冰箱。在cmd中直接输入 pip install flask==3.0.0
类似的安装依赖的命令,才会将依赖给安装到大冰箱。