venv
模块用于为Python
项目创建与管理互相分离的虚拟环境。
这有助于:
- 帮助其他程序员重建你的开发设置
- 避免项目依赖冲突。
venv
模块是 Python 标准库的一部分,自 Python 3.5 以来一直是官方推荐的创建虚拟环境的方法。
注:还有其他创建虚拟环境的优秀第三方工具,如 conda 和 virtualenv。这些工具中的任何一个都可以帮助您建立虚拟环境,而且不止于此。
本文均以Linux系统为例进行说明。
创建
当处理一个使用 pip 安装的外部依赖项的 Python 项目,最好先创建一个虚拟环境。
python3 -m venv venv/
命令中使用的第一个venv
指定了模块(即运行venv
模块),第二个venv/
则设置了虚拟环境的名称,可以给它起不同的名字,但惯例是叫它venv
。
注:虚拟环境名称的末尾加上斜线 (/)是不必要的,但它可以提醒你正在创建一个文件夹。
激活(activate)
在创建完虚拟环境后需激活该环境,在运行创建虚拟环境命令的同路径下运行:
source venv/bin/activate
如果虚拟环境命名并非
venv
,则需使用虚拟环境名替换venv
也可不激活环境直接使用,这样的话需使用虚拟环境Python解释器的绝对路径来执行Python程序。
激活后命令行前面会显示虚拟环境名,如(venv)
。
在虚拟环境中安装Python包
(venv) $ python -m pip install <package-name>
当创建并激活虚拟环境后,pip
将把包安装在隔离的位置。
由于创建虚拟环境时使用的是 Python 3 版本,因此无需明确调用 python3 或 pip3。只要虚拟环境处于激活状态,python 和 pip 就会链接到与 python3 和 pip3 相同的可执行文件。
只要不关闭终端,安装的每个 Python 软件包最终都会进入这个隔离环境,而不是的全局 Python 软件包。这意味着你现在可以在 Python 项目中工作,而不必担心依赖关系冲突。
停用环境(deactivate)
(venv) $ deactivate
$
该命令将退出虚拟环境,使环境恢复到全局环境。可重新激活。