
啊胡
2022/09/23阅读:23主题:绿意
一篇文章带你搞清楚Python虚拟环境
在「接口测试平台」专栏第一篇01 接口测试平台 后端项目创建就提到了虚拟环境
,本章带大家搞清楚Python的虚拟环境究竟是什么?该怎么用?
不使用虚拟环境
大部分刚开始接触Python编程的伙伴,都是安装Python后就直接本地安装依赖,开始敲代码。当然这没有任何问题,刚开始学习,只要能将代码跑起来就是OK的。
但是随着大家学习的越来越深入,开发的项目越来越多,就可能会频繁出现依赖冲突
的问题,比如本地已经有了项目A,需要依赖a 1.1版本。然后现在新建一个项目B,需要的依赖是a 1.2版本,如果a 1.2版本无法向下兼容a 1.1版本,然后项目A就会出现问题。
该怎么解决这个问题呢?下面给大家提供几种方案:
venv
这个是Python(3.3+版本)自带的工具,无需下载任务其他第三方的依赖。在Python项目下,使用命令python -m venv [虚拟环境名称]
就可以创建,命令执行完成后就可以看到项目目录下新增了一个对应「虚拟环境名称」的文件夹。

如果需要使用这个虚拟环境,首先需要使用命令./虚拟环境名称/bin/.activate
激活环境。

激活环境后就可以在虚拟环境中安装依赖了,不同的项目建议创建不通的虚拟环境,这样使用各自的依赖就不会出现问题了。如果Python版本是2.x或者Python 3.3以下,可能还没有集成venv
模块,所以需要用到一些第三方工具,或者需要一些更加强大的功能,也可以使用一些第三方工具,下面给大家介绍几个常用的。
virtualenv
首先使用第三方命令pip3 install virtualenv
安装依赖(在本地安装,可以直接当工具使用)。
然后使用命令virtualenv [虚拟环境名称]
在项目目录下执行,创建虚拟环境,然后使用命令./虚拟环境名称/bin/activate
j激活虚拟环境。

virtualenvwrapper
上诉venv和virtualenv创建的虚拟环境都是在各自的项目目录内,并且激活的命令也是在项目目录内的虚拟环境目录内,因此出现了更更方便管理虚拟环境的工具——virtualenvwrapper,他它是virtualenv的扩展包,主要扩展功能如下:
-
将所有虚拟环境整合在一个目录下 -
管理(新增,删除,复制)虚拟环境 -
快速切换虚拟环境
首先同样是在本地环境,使用命令pip install virtualenvwrapper
安装工具。
然后创建一个专门用来存放虚拟环境的文件夹,并且将这个文件夹的路径加入到系统环境变量,这里以linux系统为例:
# 创建目录用来存放虚拟环境
mkdir ~/.virtualenvs
# 在.bashrc中添加
export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
# 运行
source ~/.bashrc
然后使用下面这些命令就可以完成激活、查看、删除等操作:
-
workon:列出虚拟环境列表 -
lsvirtualenv:同上 -
mkvirtualenv [虚拟环境名称]:新建虚拟环境 -
workon [虚拟环境名称]:切换并激活指定虚拟环境 -
rmvirtualenv [虚拟环境名称]:删除虚拟环境 -
deactivate: 离开虚拟环境
conda
Anaconda是一个用于科学计算的Python发行版,支持Linux、Mac、Windows。提供了包管理和不同Python环境管理的功能, 可以很方便解决多版本Python问题和各种包安装问题. Anaconda使用conda命令来进行包管理和虚拟环境管理。它本身带有图形化可视界面,并且支持根据指定Python版本创建虚拟环境。
完成的Anaconda是很大的,所以可以安装miniforge,算是轻量级版本,少了很多用于科学计算的依赖包。如果大家感兴趣可以下载使用:
conda官网 https://docs.conda.io/projects/conda/en/latest/
下载安装Anaconda: https://www.anaconda.com/products/distribution#Downloads
作者介绍
