【Python】虚拟环境的解释、意义和用法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一、虚拟环境是什么?

        在解释虚拟环境是什么之前,我们首先要知道什么是环境。

     

这里的环境,指的就是 Python 代码的运行环境。它应该包含以下信息:

  • Python 解释器,用哪个解释器来执行代码?
  • Python 库的位置,该去哪里 import 所需要的模块呢?
  • 可执行程序的位置,比如说安装了 pip,那么 pip 命令是在哪里呢?

对应到Python文件中的内容是:

  • python.exe
  • Lib 文件夹,包括其中的 site-packages
  • Scripts 文件夹

简而言之,虚拟环境就是 Python 环境的一个副本。

要得到这么一个副本,首先:

  • 要给它单独找个文件夹存起来
  • 要给它取个名字

这个文件夹的名字也就是这个虚拟环境的名字,在这个文件夹下面有这些东西:

  • 一个 python.exe
  • 一个 Scripts 目录
  • 一个 Lib 目录

这里和普通环境有 2 点不一样的地方:

  • python.exe 也放在了 Scripts 目录下面
  • Lib 目录下面只有 site-packages 目录

二、虚拟环境存在的意义

当我们安装一个 Python 程序或者库的时候,一般情况下我们虽然是想要安装 1 个包,比如说, pip install django。然而实际安装的都是一堆包。这些包默认都会安装到 Python 环境的 site-packages 目录下面。

下次再安装其它包时,也是如此。因为同一个库,只能在一个环境中存在一份,那么这其中如果发现了某个依赖包已经存在,只能大家公用。

这样下去,说不定哪一天这中间就出现了版本不兼容。

三、怎样创建一个虚拟环境并激活

创建虚拟环境:python -m venv .venv 

激活虚拟环境:.venv/Scripts/Activate.ps1


总结

不同项目可以使用不同的虚拟环境从而解决依赖冲突的问题

使用 pip install 的时候可以通过 -r 选项指定一个 requirements 文件,这样就能批量安装所有依赖。

在 requirements 里面可以精确的指定安装包版本,有效地避免不兼容问题。

执行 pip freeze 可以把当前环境安装的包以 requirements 的格式输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值