在Python 3中,Python标准库终于有了自己的虚拟环境包,这就是venv,由于它只能在Python 3上使用,所以流行程度不高。但是由于它是新开发的包,并吸收了virtualenv的优点,而且是自带的,所以如果你确定只在Python 3环境中使用,可以考虑使用venv。

如果你使用的是 Ubuntu Linux 系统预装的 Python 3,那么标准库中没有venv包。请执行下述命令安装python3-venv 包:
$ sudo apt-get install python3-venv

创建虚拟环境

$ python3 -m venv virtual-environment-name

-m venv 选项的作用是以独立的脚本运行标准库中的 venv 包,后面的参数为虚拟环境的名称。

$ python3 -m venv venv
这个命令执行完毕后, 当前目录中会出现一个名为 venv 的子目录,这里就是一个全新的虚拟环境,包含这个项目专用的 Python 解释器。

使用虚拟环境

若想使用虚拟环境,要先将其“激活”。如果你使用的是 Linux 或 macOS,可以通过下面的命令激活虚拟环境:
$ source venv/bin/activate

如果使用微软 Windows 系统,激活命令是:
$ venv\Scripts\activate

虚拟环境被激活后,里面的 Python 解释器的路径会添加到当前命令会话的 PATH 环境变量中,指明在什么位置寻找一众可执行文件。为了提醒你已经激活了虚拟环境,激活虚拟环境的命令会修改命令提示符,加入环境名:
(venv) $

激活虚拟环境后,在命令提示符中输入 python,将调用虚拟环境中的解释器,而不是系统全局解释器。如果你打开了多个命令提示符窗口,在每个窗口中都要激活虚拟环境。

虽然多数情况下,为了方便,应该激活虚拟环境,但是不激活也能使用虚拟环境。例如,为了启动 venv 虚拟环境中的 Python 控制台,在 Linux 或macOS 中可以执行 venv/bin/python 命令,在微软indows中可以执行venv\Scripts\python 命令。

虚拟环境中的工作结束后,在命令提示符中输入 deactivate,还原当前终端会话的 PATH 环境变量,把命令提示符重置为最初的状态。

使用pip管理Python包

Python 包使用包管理器 pip 安装,所有虚拟环境中都有这个工具。与 python 命令类似,在命令提示符会话中输入 pip 将调用当前激活的虚拟环境中的 pip 工具。

任何时候都可以使用pip freeze 命令查看虚拟环境中安装了哪些包:
(venv) $ pip freeze

虚拟环境中最好有个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号。如果要在另一台计算机上重新生成虚拟环境,这个文件的重要性就体现出来了,例如部署应用时使用的设备。这个文件可由 pip 自动生成,使用的命令如下:
(venv) $ pip freeze >requirements.txt

如果你想创建这个虚拟环境的完整副本,先创建一个新的虚拟环境,然后在其中运行下述命令:
(venv) $ pip install -r requirements.txt

删除虚拟环境

非常简单,直接把目录删了就完事了。

Copyright © 2014-2020 it689.com (京ICP备12032795号-2) 版权所有 Power by IT689