在 Python 中,我们往往需要使用不同版本或特定版本的库,但是我们不可能反反复复去卸载安装这些库,这时候就需要一个虚拟环境来达到我们安装特定版本库的目的,而 venv 就是 Python3 中标准库内置的一个虚拟环境工具。
概述
在 Python 中有许多种虚拟环境工具,这里主要介绍使用 venv,因为这是Python3 标准库内置的虚拟环境工具。当然你也可以使用 virtualenv ,这也是一个 Python 虚拟环境管理工具,它的用法和 venv 几乎相同,当然在使用前你可以使用下面的命令安装。
1 | pip install virtualenv |
创建虚拟环境
创建虚拟环境前,我们需要先进入项目对应文件夹,这里假定项目名为 Test.
1 | mkdir 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模块。