帮助创建和维护pip冻结需求的脚本

freeze-requirements的Python项目详细描述


冻结要求

帮助创建和维护pip冻结需求的脚本 由这个Mozilla dev team blog post

冻结的需求包含您指定的包,以及 依赖项,具有固定版本。

例如,如果有requirements.txt包含以下内容:

pyramid
sqlalchemy

冻结版本为:

# This file has been automatically generated, DO NOT EDIT!

# Frozen requirements for "requirements.txt"

pastedeploy==1.5.2
pyramid==1.5.1
repoze.lru==0.6
setuptools==5.5.1
sqlalchemy==0.9.7
translationstring==1.1
venusian==1.0
webob==1.4
zope.deprecation==4.1.1
zope.interface==4.1.1

然后,您可以在部署脚本中使用pip install -rrequirements-frozen.txt--no-deps冻结的需求,并享受一致性 即使在pypi上更新了一些包,也可以进行部署。

冻结需求还可以将下载的源程序包放在类似pypi的 Web服务器上的目录结构,以便加快部署速度 使用pip install -rrequirements-frozen.txt--index-urlhttp://mywebserver.com/pypi-mirror,还可以构建wheels来加速部署。

安装

从pypi安装:

$ pip install freeze-requirements

或来源:

$ ./setup.py install

示例

创建两个需求文件的冻结版本(它们将被命名为 requirements-frozen.txtrequirements2-frozen.txt在本例中, 可以使用--separate-requirements-suffix自定义-frozen后缀:

$ freeze-requirements freeze --separate-requirements requirements.txt requirements2.txt

将多个需求合并到一个文件中:

$ freeze-requirements freeze --merged-requirements requirements-merged.txt requirements.txt requirements2.txt

使用缓存避免重新处理已知的需求文件:

$ freeze-requirements freeze --cache-dependencies requirements.txt

下载源代码包并为它们构建轮子,将它们放入类似pypi的 目录结构:

$ freeze-requirements freeze --output-dir /path/to/my/pypi --build-wheels requirements.txt

新闻

0.4.4

为setup.py中包含非字符串版本的包添加了解决方法 (Bug是由UnitTest2 0.7.1引起的,请参见 https://code.google.com/p/unittest-ext/issues/detail?id=84)。

0.4.3

添加了自动冲突解决。

0.4.2

已添加–无重建控制盘标志,以避免重建中已存在的控制盘 –输出目录。

0.4.1

首次正确释放

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
SimpleDataFormat如何在Java中使用DateFormat解析月份完整格式字符串?   java如何使用JBPM引导规则创建规则流组?   java将SQL和应用程序服务器从Windows 2003迁移到Windows server 2012 R2   java游戏!Intellij IDEA中的2.0控制台无法工作   java如何获取线程内分配的变量值?   java Android翻译动画导致Clicklistener问题   当前平台不支持java桌面API   java删除hashmap条目的方法是什么   用Spring MVC提供Java模型的RDF表示?   JAVA未安装Java的计算机上的lang.UnsupportedClassVersionError   java SQLite从3个表中获取使用组合的对象列表   来自的TLS握手错误的java云数据流BQ输出挂起作业   java如何使用SPARQL进行排名?   java如何在Netbeans 7.1.2中设置${user}的值?   java如何删除括号内的字符串?