requirement.txt(项目依赖包及版本列表)
管理项目依赖包和版本,方便项目在新环境中部署
生成项目依赖包和版本列表文件(每次更新依赖包都需要更新这个文件)
pip freeze > requirements.txt
在新虚拟环境中创建这个虚拟环境的完全副本
pip install -r requirements.txt
在ruby中习惯用gemfile来管理项目中依赖包,可以通过bundle install安装gemfile中的包,并且如果本地存在一个包的多个版本时,会通过gemfile来指引该项目用某个包版本,所以本地可以安装一个包的多个版本供项目选择
在python中,好比我两个项目都是基于python3的但一个需要Django1.8版本的一个需要Django1.9版本我第一反应是公用一个虚拟环境,在一个虚拟环境中安装多个版本的Django,但是后来发现python中一个虚拟环境不允许安装一个包的多个版本(后一个会把前一个覆盖掉),所以这也是在python中一个项目创建一套虚拟环境的必要性(每个项目所以依赖的包不同)
后来了解到python中可以通过requirement.txt来管理项目包依赖,只不过是可以在新的虚拟环境中创建项目所需依赖的完全副本,并不能通过这个指引项目用本地的某个版本的包这就是ruby跟python的区别