python虚拟环境安装
场景:
如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?
解决办法
这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。
首先,我们用pip
安装virtualenv:
$ sudo pip install virtualenv
$ sudo pip install virtualenvwrapper
然后,假定我们要开发一个新的项目,需要一套独立的Python运行环境,可以这么做:
第一步,创建虚拟环境(须在联网状态下):
mkvirtualenv Flask_py
第二步,进入虚拟环境
$ workon Flask_py
退出虚拟环境
如果所在环境为真实环境,会提示deactivate:未找到命令
$ deactivate Flask_py
小结
virtualenv为应用提供了隔离的Python运行环境,解决了不同应用间多版本的冲突问题。
安装:
创建:virtualenv --no-site-packages venv
使用:source 虚拟环境名字/bin/activate
退出:deactivate
requirements 文件
Python 项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号,以便在新环境中进行部署操作。
在虚拟环境使用以下命令将当前虚拟环境中的依赖包以版本号生成至文件中:
$ pip freeze >requirements.txt
当需要创建这个虚拟环境的完全副本,可以创建一个新的虚拟环境,并在其上运行以下命令:
$ pip install -r requirements.txt