使用venv进行python环境管理

venv是python自带的环境管理工具,可以使用已安装的python解释器创建对应版本的python虚拟环境。

原理

venv工作原理十分简单

  1. 创建一个文件夹,在该文件夹下生成一个新的python解释器环境
  2. 将系统目录下的python, pip执行文件链接到当期目录
  3. 系统目录下的三方包不会链接
  4. 生成激活/反激活脚本
  5. 环境激活后,新环境的解释器将使用自己的三方库目录下的三方库

总结:

  • 相当于新复制了一份系统的解释器,但没复制三方包
  • 这里的复制其实是软链接

基本使用

创建

$ python -m venv <dir>

会在dir目录下创建python虚拟环境,完成后目录中会生成以下内容。

$ ls <dir>
Include/  Lib/  Scripts/  pyvenv.cfg

在Scripts中会包含python, pip等可执行文件,已经激活/反激活环境需要的脚本。

注意这里的python和pip文件实际上是用于创建这个虚拟环境的系统python目录中可执行文件的链接,因此创建得到的python版本和创建使用的系统python版本是相同的,无法指定。

激活/反激活

以windows为例,使用Scripts下的activate.bat/deactivate.bat脚本激活/反激活环境。