虚拟环境的使用
在同时开发多个应用的时候,可能每个应用都需要各自拥有一套独立的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/zsh | source venv/bin/activate | deactivate |
fish | . venv/bin/activate.fish | deactivate |
csh/tcsh | source venv/bin/activate.csh | deactivate |
cmd.exe | venv\textbackslash Scripts\textbackslash activate.bat | venv\textbackslash Scripts\textbackslash deactivate.bat |
PowerShell | venv\textbackslash Scripts\textbackslash Activate.ps1 | venv\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
来完成全部依赖库的安装。