Python虚拟环境

在本文中可以了解以下内容:

  • 为什么需要python虚拟环境
  • 什么是python虚拟环境
  • 使用python虚拟环境

为什么需要python虚拟环境

默认情况下,系统中所有的python项目都会使用相同的路径来保存第三方库site packages。初看之下,这似乎没有什么问题,对于python标准库来说,这确实不是问题,但是对于第三方库来说,却不是这样的。

不同的python对相同的第三方库的依赖可能存在冲突,例如下面这种情况:
项目一和项目二依赖相同第三方库的不同版本,项目一使用v1.0版本,项目二则使用v3.0版本。这对python着实是一个挑战,因为在项目中仅是保存了库的名字,并没有区分不同版本。site packages路径无法区分v1.0版本和v3.0版本。

如何解决这个问题呢?就需要引入python虚拟环境。

什么是python虚拟环境

python虚拟环境为不同的项目提供了独立的环境,在每个虚拟环境中,可以使用自己的python版本和依赖的第三方库,不同的虚拟环境之间互不影响。

对于上面提到的问题,通过使用python虚拟环境可以轻易得到解决,只需要为项目一和项目二分别创建相互独立的虚拟环境。在虚拟环境中安装各自所需要的依赖即可。

使用虚拟环境

安装python虚拟环境

在python3的标准库中,提供了venv模块来管理虚拟环境,如果使用的是python2,需要通过pip来安装virtualenv工具。

执行命令 pip install virtualenv

使用python虚拟环境

通过命令创建路径test_venv,并在此路径下创建虚拟环境。

mkdir test_venv && cd test_venv

  • 使用virtualenv创建python2的虚拟环境
# 创建python2的虚拟环境
virtualenv -p python2 ./venv2
# 激活虚拟环境
source ./venv2/bin/activate
# 查看当前虚拟环境中的python
(venv2)$ which python
../test_env/venv2/bin/python
# 可以看到当前环境使用的python为venv2中的python
# 去激活虚拟环境,执行deactivate
deactivate
  • 使用virtualenv创建python3的虚拟环境,方法与python2相同,只需指定为python3即可。
# 创建python3的虚拟环境
virtualenv -p python3 ./venv3
# 激活虚拟环境
source ./venv3/bin/activate
# 查看当前虚拟环境中的python
(venv3)$ which python
../test_env/venv3/bin/python
# 可以看到当前换进使用的python为venv3中的python
# 去激活
deactivate

使用python3 的venv模块创建虚拟环境

# 创建虚拟环境
python3 -m venv ./env3
# 激活虚拟环境
source ./env3/bin/activate
# 查看当前使用的python路径
(env3)$ which python
# ../test_env/env3/bin/python
# 去激活
deactivate

通过上面的命令可以看出虚拟环境是如何工作的,在激活的虚拟环境中,使用了不同python路径,并且修改了环境变量$PATH,将../test_env/env3/bin添加到$PATH。

在虚拟环境中,默认不包含任何已有的第三方库site packages,在激活的虚拟环境可以通过pip来安装需要的第三方库。

在实际使用中,我们可能还会遇到同时需要安装多个python版本的情况,例如,同时使用python3.6和python3.7,这是就会用到python版本管理工具pyenv,请参见pyenv相关内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值