使用venv进行python环境管理
venv是python自带的环境管理工具,可以使用已安装的python解释器创建对应版本的python虚拟环境。
原理
venv工作原理十分简单
- 创建一个文件夹,在该文件夹下生成一个新的python解释器环境
- 将系统目录下的python, pip执行文件链接到当期目录
- 系统目录下的三方包不会链接
- 生成激活/反激活脚本
- 环境激活后,新环境的解释器将使用自己的三方库目录下的三方库
总结:
- 相当于新复制了一份系统的解释器,但没复制三方包
- 这里的复制其实是软链接
基本使用
创建
$ 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脚本激活/反激活环境。