venv
— 虚拟环境的创建
#
venv
模块支持创建轻量的“虚拟环境”,每个虚拟环境将拥有它们自己独立的安装在其 site
目录中的 Python 软件包集合。 虚拟环境是在现有的 Python 安装版基础之上创建的,这被称为虚拟环境的“基础”Python,并且还可选择与基础环境中的软件包隔离开来,这样只有在虚拟环境中显式安装的软件包才是可用的。
当在虚拟环境中使用时,常见安装工具如 pip 将把 Python 软件包安装到虚拟环境而无需显式地指明这一点。
虚拟环境是(主要的特性):
- 用来包含支持一个项目(库或应用程序)所需的特定 Python 解释器、软件库和二进制文件。 它们在默认情况下与其他虚拟环境中的软件以及操作系统中安装的 Python 解释器和库保持隔离。
- 包含在一个目录中,根据惯例被命名为项目目录下的
venv
或.venv
,或是有许多虚拟环境的容器目录下,如~/.virtualenvs
。 - 不可签入 Git 等源代码控制系统。
- 被视为是可丢弃性的 —— 应当能够简单地删除并从头开始重建。 你不应在虚拟环境中放置任何项目代码。
- 不被视为是可移动或可复制的 —— 你只能在目标位置重建相同的环境。
创建虚拟环境 #
通过执行 venv
指令来创建一个 虚拟环境:
python -m venv /path/to/new/virtual/environment
运行此命令将创建目标目录(父目录若不存在也将创建),并放置一个 pyvenv.cfg
文件在其中,文件中有一个 home
键,它的值指向运行此命令的 Python 安装(目标目录的常用名称是 .venv
)。它还会创建一个 bin
子目录(在 Windows 上是 Scripts
),其中包含 Python 二进制文件的副本或符号链接(视创建环境时使用的平台或参数而定)。它还会创建一个(初始为空的) lib/pythonX.Y/site-packages
子目录(在 Windows 上是 Lib\site-packages
)。如果指定了一个现有的目录,这个目录就将被重新使用。