虚拟环境的使用

在同时开发多个应用的时候,可能每个应用都需要各自拥有一套独立的Python运行环境。virtualenv就是用来为一个应用创建一套隔离的Python运行环境的工具,

首先在使用pip install virtualenv后,在项目根目录中使用以下命令创建一个独立的Python运行环境,名为venv:virtualenv --no-site-packages venv

新建的Python环境被放置到当前目录的venv目录下,之后可以使用命令来激活这个环境:source venv/bin/activate,Windows系统的环境启动命令是:venv/Scripts/activate

此时可以看到命令提示符已经发生变化,表示Python环境已经切换。从这里开始就可以正常安装各种第三方包以及运行Python命令了。

如果需要退出venv环境,可以使用deactivate命令。

virtualenv可以解决不同应用间多版本冲突问题。

对于Python 3.5以上版本已经内置了venv功能库,不需要再安装virtualenv功能库了,可以直接在命令行执行命令python3 -m venv .env来将虚拟环境创建在.env目录中。这时要启动虚拟环境,针对不同的命令行环境,可以使用以下不同的启动方式(以虚拟环境安装至venv目录为例)。

命令行环境激活命令退出命令
bash/zshsource venv/bin/activatedeactivate
fish. venv/bin/activate.fishdeactivate
csh/tcshsource venv/bin/activate.cshdeactivate
cmd.exevenv\textbackslash Scripts\textbackslash activate.batvenv\textbackslash Scripts\textbackslash deactivate.bat
PowerShellvenv\textbackslash Scripts\textbackslash Activate.ps1venv\textbackslash Scripts\textbackslash Deactivate.ps1

对于一个项目来说,需要一种能够记录其安装过的依赖库的方法来方便项目的迁移。pip使用requirements.txt文件提供了这个功能。requirements.txt文件中记录了项目中所安装的全部依赖库及其版本,能够在项目迁移时通过一条命令直接恢复项目的运行环境。在建立requirements.txt文件时,尽量在虚拟环境中完成,这样可以防止不被依赖的库被误加入requirements.txt中。

在项目环境已经建立好后,可以在虚拟环境下通过pip freeze > requirements.txt命令来将目前环境中安装的全部依赖库列表导出至requirements.txt中。之后可以使用pip install -r requirements.txt来完成全部依赖库的安装。

Warning

注意,requirements.txt在项目开发过程中要及时更新。