当前位置:  开发笔记 > 编程语言 > 正文

将python库/应用程序打包为.egg文件有什么好处?

如何解决《将python库/应用程序打包为.egg文件有什么好处?》经验,为你挑选了2个好方法。

我已经阅读了一些关于.egg文件的内容,我已经在我的lib目录中注意到了它们,但是当时作为开发人员使用它的优点/缺点是什么?



1> Adam Davis..:

来自Python企业应用程序套件社区:

"鸡蛋到达蟒蛇,就像罐子里的爪哇......"

Python egg是一种通过Python项目捆绑附加信息的方法,它允许在运行时检查和满足项目的依赖项,以及允许项目为其他项目提供插件.有几种二进制格式包含鸡蛋,但最常见的是'.egg'zipfile格式,因为它是一个方便的分发项目.所有格式都支持包括特定于程序包的数据,项目范围的元数据,C扩展和Python代码.

Python Eggs的主要好处是:

他们启用了像"Easy Install"Python包管理器这样的工具

.egg文件是Python包的"零安装"格式; 不需要构建或安装步骤,只需将它们放在PYTHONPATH或sys.path上并使用它们(如果使用C扩展或数据文件,可能需要安装运行时)

它们可以包括包元数据,例如它们所依赖的其他蛋

它们允许"名称空间包"(仅包含其他包的包)被拆分为单独的发行版(例如zope.,twisted.,peak.*包可以作为单独的蛋分发,不像普通包必须始终放在相同的包下父目录.这允许现在巨大的单片包作为单独的组件分发.)

它们允许应用程序或库指定所需的库版本,因此您可以在执行twisted.internet导入之前例如要求("Twisted-Internet> = 2.0").

它们是一种很好的格式,用于将扩展或插件分发到可扩展的应用程序和框架(例如Trac,它使用插件从0.9b1开始使用插件),因为egg运行时提供了简单的API来定位egg并找到他们广告的入口点(类似到Eclipse的"扩展点"概念).

还有其他好处可能来自标准化格式,类似于Java的"jar"格式的好处.

-亚当



2> Reinout van ..:

一个鸡蛋本身并不比一个合适的源释放更好.好的部分是依赖性处理.像debian或rpm软件包一样,你可以说你依赖其他鸡蛋,它们会自动安装(通过pypi.python.org).

第二条评论:egg格式本身是二进制打包格式.由python代码组成的普通python包最好分发为"源代码发布",因此"python setup.py sdist"会产生.tar.gz.当上传到pypi时,这些通常也被称为"鸡蛋".

你需要二进制蛋的地方:当你捆绑一些C代码扩展时.你需要几个二进制蛋(32位unix,一个windows等).

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有