什么是PasteDeploy?如果Python中的Eggs被认为消失了,我需要学习它吗?
我对Python还很陌生,最近下载了Pyramid框架,正在努力理解它。这个框架使用了很多不同的工具来完成工作,比如有一个叫PasteDeploy
的工具。我试着去看了PasteDeploy
的手册,但是一点也看不懂。里面几乎没有有用的例子和解释,只有一些语法。我唯一明白的是,它到处都在用.egg
格式。这个格式是基于.egg
的:
[composite:main]
use = egg:Paste#urlmap
[app:home]
use = egg:Paste#static
[app:blogapp]
use = egg:BlogApp
同时我发现.egg
格式在Python的未来包管理中将会被淘汰。这里有相关信息。而且Pyramid本身也是围绕egg
构建的。它的env\Lib\site-packages
中的每个组件都是egg
组件:
chameleon-2.11-py3.3.egg
distribute-0.6.31-py3.3.egg
pastedeploy-1.5.0-py3.3.egg
pyramid-1.4-py3.3.egg
... and so on
所以我不明白为什么它还在使用.egg
格式,如果这个格式被认为是某种“过时”的东西?为什么它要使用PasteDeploy
,而这个工具本身几乎也是在用过时的.egg
格式?我应该学习PasteDeploy
吗,还是现在有一些更先进的工具我还不知道?.egg
格式在Pyramid中会在不久的将来被替换掉吗?
1 个回答
“egg”格式绝对没有被淘汰,任何说它被淘汰的地方都是在骗人。Python的打包问题确实有很多,但Pyramid在这方面是走在前面的。
你提到的链接讨论的是未来的目标,但你不能说某样东西被淘汰了,尤其是当它还没有替代品的时候。要真正停止支持“egg”格式可能还需要很多年,因为有成千上万的包在使用它。那份文件只是讨论未来的方向,而且(不考虑Python 3)社区对向后兼容性非常重视,所以即使有新的格式出现,“egg”格式也会继续被支持很长时间。
PasteDeploy
是Pyramid用来解析INI文件、配置WSGI管道和WSGI服务器的包。
如果你没有特别想找的内容,PasteDeploy
的文档可能会有点难懂。Pyramid的文档对基本的INI设置讲解得还不错,你应该可以靠这些内容过一段时间。如果你有想实现的功能但找不到相关信息,可以在Stack Overflow上问其他问题,或者使用邮件列表寻求帮助。
除了这些,PasteDeploy
主要就是用来解析INI文件。Pyramid本身并不一定需要以这种方式使用INI文件,但这是让大家快速上手的最简单方法。