啊胡

V1

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/activatej激活虚拟环境。

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

下载安装Miniforge:https://conda-forge.org/miniforge/

分类:

后端

标签:

软件测试

作者介绍

啊胡
V1