0%

在 Python 中使用 venv 管理虚拟环境

在 Python 中,我们往往需要使用不同版本或特定版本的库,但是我们不可能反反复复去卸载安装这些库,这时候就需要一个虚拟环境来达到我们安装特定版本库的目的,而 venv 就是 Python3 中标准库内置的一个虚拟环境工具。

概述

在 Python 中有许多种虚拟环境工具,这里主要介绍使用 venv,因为这是Python3 标准库内置的虚拟环境工具。当然你也可以使用 virtualenv ,这也是一个 Python 虚拟环境管理工具,它的用法和 venv 几乎相同,当然在使用前你可以使用下面的命令安装。

1
pip install virtualenv

创建虚拟环境

创建虚拟环境前,我们需要先进入项目对应文件夹,这里假定项目名为 Test.

1
2
mkdir Test
cd Test

进入项目文件夹后,就可以创建虚拟环境了。输入下面的命令即可创建,其中的 Test-venv 就是虚拟环境的名称,也就是虚拟环境的文件夹,可以随意修改,通常是使用 venv 作为名称。

1
python -m venv Test-venv

如果需要该项目需要使用 git 方式进行版本管理,那么需要在 .gitignore 中添加虚拟环境文件夹名称,让 git 忽略。

激活虚拟环境

创建虚拟环境后,虚拟激活后使用,在 Windows 上运行下面的命令。

1
Test-venv\Scripts\activate.bat

在 Linux 或 MacOS (bash) 中使用下面的命令。

1
source Test-venv\Scripts\activate

激活虚拟环境后,命令提示符前面会显示虚拟环境的名称。

当你需要退出虚拟环境时,可以使用 deactivate 命令退出。

使用 pip管理包

在虚拟环境中,你可以使用 pip 来安装、升级、移除包。

指定包名来安装最新版本的包。

1
(Test-venv)$ pip install flask

还可以安装指定版本的包。

1
(Test-venv)$ pip install flask==1.0.1

还可以升级包。

1
(Test-venv)$ pip install --upgrade flask

从虚拟环境中移除包。

1
(Test-venv)$ pip uninstall flask

生成一个依赖包列表。

1
(Test-venv)$ pip freeze > requirements.txt

然后使用 requirements.txt 安装所有必须的包。

1
(Test-venv)$ pip install -r requirements.txt

有关 pip 的完整文档,参阅 安装Python模块

参考

虚拟环境和包