摘要
在Python开发中,虚拟环境是一种重大的工具,用于隔离不同项目的依赖关系和环境配置。本文将基于windows平台介绍四种常用的Python虚拟环境创建工具:venv、virtualenv、pipenv和conda,包括它们的特点、用法和适用场景。
正文
创建Python根解释器
- 即用来执行Python代码,分为Python2、Python3(类似Java6、Java8这种),目前大多数都使用Python3。
- 一般我们说安装Python,实则就是安装Python解释器;说Python版本,实则也是指Python解释器版本。
- 在Python官网,可以下载到各版本Python解释器的安装程序。以Python3.11为例,我们下载Windows installer (64-bit)安装,完成后目录结构如下:

- 如果安装时没有勾选自动将Python加入环境变量,那么请手动加入环境变量
- 双击python.exe,出现cmd窗口,实则是一个交互式环境,我们可以直接输入并执行Python代码:

python.exe
pythonw.exe
此二者功能基本一样,如果不是gui程序,一般使用第一个:python.exe
为什么要使用虚拟环境
隔离项目环境

上面是yolov5、yolov3项目的requirements.txt文件,从上图看出:
- 若安装的torch的版本是1.7.0,那么你可以运行yolov3内的程序。但不能运行yolov5,由于v5需要1.8.0
- 若安装的torch的版本是1.8.0,那么yolov3、yolov5都可以运行。
如果你之前一直使用使用yolov3,但目前让你研究yolov5,你肯定不想来回卸载、安装这两个包吧?
那么可以创建新的虚拟环境来运行yolov5的程序,yolov3的运行环境保持不变。
隔离项目环境是主要用途
如何创建虚拟环境
3种创建工具
|
工具名称 |
说明 |
|
venv |
标准库 即安装好Python就自带有的 |
|
virtualenv |
第三方 即需用pip等方式来主动安装的 |
|
pipenv |
第三方 即需用pip等方式来主动安装的 |
上述三种工具,依赖根解释器,必须先安装根解释器才能使用。参考正文第一部分安装
创建虚拟环境
下面是一个创建虚拟环境的示例,将这个虚拟环境用于运行yolov5:
假设我本地的yolov5的源码目录是”D: est3yolov5″(在pipenv中要用)
下面出现的蓝色、橙色、绿色字体代表意思如下:
- 蓝色:Python根解释器或者根解释器同目录Scripts文件夹下的程序:

- 橙色,固定的,这么输就行了
- 绿色:虚拟环境的保存目录
venv
- 创建虚拟环境命令:python -m venv D: est4yolov5-311-64

virtualenv
- 先安装:pip install virtualenv
- 创建虚拟环境命令:virtualenv D: est4yolov5-311-64-2

pipenv
- 先安装:pip install pipenv
- 与venv、virtualenv不同,pipenv不先创建虚拟环境:
- 先进入yolov5的目录
- 在该目录下执行创建命令:
pipenv install

注意:
- pipenv指定了虚拟环境的保存目录,一般在 C:Users你的用户名.virtualenvs 下。
- 它另外增加了第三方库的依赖管理功能,详情请参考官网文档
创建虚拟环境的过程
可以笼统的认为,是将”根解释器”内的必须文件复制一份出来,然后改变其依赖库的搜索路径及一些设置,以实现虚拟环境的创建,可以认为它就是根解释器的一个”特殊”的副本。
根解释器与虚拟环境的目录结构差异
|
根解释器 |
虚拟环境(以 venv 为例) |
|
|
|
借助编辑器来创建虚拟环境(PyCharm)
上一节是手动创建虚拟环境,目的是为了更容易理解,实际不会这么操作。使用编辑器是更好的选择,例如PyCharm,就已提供一键创建虚拟环境的功能:
- 假设已经安装好了PyCharm。
- 先打开项目,然后依次进入:


点击右边”Add”


绝大多数的情况都是直接使用编辑器来创建虚拟环境
使用conda来创建虚拟环境
- 安装conda请参考:https://anaconda.org.cn/anaconda/install/
# 创建
conda create -n yolov5-311-64-3 python=3.11
# 激活
conda activate yolov5-311-64-3
# 进入交互环境:
python
- conda简化了Python的安装过程
- 具体使用方法请参考官方文档
如何选择虚拟环境创建工具
- Windows,提议直接在编辑器中使用 virtualenv 创建虚拟环境,例如PyCharm中
- Linux服务器版,提议安装conda,使用conda来创建虚拟环境
- Linux桌面版、mac OS等,conda或者编辑器
结语
如有不对之处,请海涵指正。



















- 最新
- 最热
只看作者