在大型的Flask多文件程序中,一个项目对应一个虚拟环境,如果需要在另一个目录或者另一台电脑重新生成虚拟环境的话就得重新下载安装各种扩展包。所以为了避免这种情况以及程序与安装版本号不兼容的问题,程序中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号。
如果要在另一台电脑上重新生成虚拟环境, 这个文件的重要性就体现出来了,例如部署程序时使用的电脑。 pip 可以使用如下命令自动生成这个文件:
(venv) $ pip freeze >requirements.txt
安装或升级包后,最好更新这个文件。需求文件的内容示例如下:
<span style="font-size:18px;">requirement.txt
Flask==0.10.1
Flask-Bootstrap==3.0.3.1
Flask-HTTPAuth==2.7.0
Flask-Login==0.3.1
Flask-Mail==0.9.0
Flask-Migrate==1.1.0
Flask-Moment==0.2.1
Flask-PageDown==0.1.4
Flask-SQLAlchemy==1.0
Flask-Script==0.6.6
Flask-WTF==0.9.4
Jinja2==2.7.1
Mako==0.9.1
Markdown==2.3.1
MarkupSafe==0.18
SQLAlchemy==0.9.9
WTForms==1.0.5
Werkzeug==0.10.4
alembic==0.6.2
bleach==1.4.0
blinker==1.3
html5lib==1.0b3
itsdangerous==0.23
six==1.4.1</span>
如果你要创建这个虚拟环境的完全副本,可以创建一个新的虚拟环境,并在其上运行以下命令:
(venv) $ pip install -r requirements.txt
这样就可以直接的到与部署环境相同的虚拟环境了,不必重新安装依赖的包,也无需担心新版本和程序的兼容问题。