python自带的轻量级虚拟环境venv

1. 引入

python及其各种类库,版本众多,不同项目中版本使用又各有区别,配置起来实在是麻烦多多。使用虚拟环境,可以一定程度上避免一些麻烦。

能用来配置python的虚拟环境的工具,比较知名的,主要是virtualenv和conda。但这都不能跟项目走,比如每个项目建立一个虚拟环境,并且把项目从开发机A移动到开发机B,也不能很方便的把虚拟环境跟着项目一起移动到B。

所以,PEP 405(Python Enhancement Proposals)提出了venv,目的是:

  1. 自带:让python自身就支持虚拟环境,不需要安装第三方库
  2. 隔离:把python binary复制到一个独立的文件夹,与系统目录隔离开
  3. 轻量级:如果将python的整个标准库也做到独享,隔离性会更好,但这样就不够轻量级,也没法做到跨平台。所以venv不复制整个python的标注库

下面介绍venv的原理与用法(以笔者的windows电脑为例说明)。

2. 用法

  1. cd到python项目的文件夹

  2. 运行如下命令,创建项目级的轻量虚拟环境

python -m venv venv

(1)命令的第一个venv,是制定运行venv。第二个venv是指虚拟环境的文件夹的名字,这个可以根据需要来修改
(2)命令执行后,会在当前文件夹中,建立一个venv目录。 在这个venv目录中,会默认放置python.exe、pip.exe等与系统目录隔离的可执行文件

  1. 激活虚拟环境

在windows系统上,激活这个虚拟环境的命令是:

E:\test_venv\ml_project>venv\Scripts\activate

激活后,就能用python命令来了运行程序,也能用pip来安装第三方库,这些库的安装都是隔离在虚拟环境中的。

  1. 退出虚拟环境

在windows系统上,退出这个虚拟环境的命令是:

venv\Scripts\deactivate.bat
  1. 在linux上的用法和windows类似,只是linux下激活venv的命令如下
$ source <venv>/bin/activate

3. 总结

  1. venv是python(3.3以上版本)自带的轻量级虚拟环境
  2. 笔者用3.6做实验,创建出来的venv文件夹,总共只有29M,压缩后10M

参考:

  1. PEP405, https://www.python.org/dev/peps/pep-0405/
  2. venv细节用法/命令介绍,https://docs.python.org/3/library/venv.html
  • 7
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值