Last Updated on

概述

Python的强大,很大程度是因为第三方库的丰富和强大而强大。所以在python项目中,常常会使用到众多第三方库,不同的项目对库的依赖不同,版本也不同,那怎么样能让不同的项目在同样的系统环境中互不干扰的运行,那就是虚拟环境。

可以说虚拟环境是Python开发中必须要了解学会的!

虚拟环境会根据本地Python创建一个类似隔离的单独的python环境。在这里个虚拟环境中,可以下载单独属于这个环境中的库,且不会影响原有系统的Python环境。

简单的说,就是一个隔离的虚拟出来的python环境。

下面详细说一下,在centos服务器上如何创建使用python虚拟环境。

创建虚拟环境

虚拟环境的创建,Python2和Python3不太一样,因为Python3已经内置了一个虚拟环境的库,可以直接创建虚拟环境,而Python2需要使用第三方库。

下面就两个版本,分别说一下如何创建虚拟环境:

Python2

Python2创建虚拟环境需要依赖virtualenv库。

# 下载virtualenv库
$ pip install virtualenv

# 使用virtualenv创建虚拟环境,venv为创建的虚拟环境文件夹名称,可自定义。
$ virtualenv venv

Python3

Python3已经内置虚拟环境库venv,不需要下载别的第三方库就可以直接创建虚拟环境:

# 创建虚拟环境,第二个venv是虚拟环境文件夹名称,可自定义
$ python3 -m venv venv

使用说明

如上,创建了虚拟环境,生成了venv文件夹。

其中文件如下:

然后就可以通过source命令,进入虚拟环境:

# 进入虚拟环境,在venv的bin目录下有activate文件,source此文件进入虚拟环境。
$ source venv/bin/activate

进入虚拟环境后,在命令行前面,会发现有个(venv)的显示,表示已经处在此虚拟环境中,如下图:

这样直接在命令行中运行python相关的命令就会直接是使用虚拟环境中的python,在创建了虚拟环境后,默认虚拟环境已经存在如下几个默认基础库:

然后就可以在此虚拟环境中,使用pip下载库,下载库会自动保存在venv文件夹中。你会发现直接运行的命令实际上就是指向了venv文件夹中的可执行文件:

所以即使不使用source进入虚拟环境,直接运行虚拟环境venv中的python文件也是一样的。

包括一下需要执行的第三方库,如常用的pip,django,django等库的执行文件,也会在venv/bin/目录下,直接执行此中的文件,也会相应的使用此虚拟环境。

在用source进入环境后,使用如下命令退出虚拟环境:

# 退出虚拟环境
$ deactivate

删除虚拟环境

要删除虚拟环境,只需要删除创建虚拟环境生成的文件夹即可,如上面就是直接删除掉venv文件夹即可。

因为所有相关文件和依赖包都是存储在此文件夹中的。所以管理非常方便。

结束

ok,虚拟环境就介绍到这,在Python开发中,这是基础必须的,因为在生产环境中运行Python程序,为了不影响系统环境,都是会使用虚拟环境的。

有什么问题,欢迎留言