我是Python新手,只是想了解它的包是如何工作的。据推测,“鸡蛋”是某种包装机制,但是它可以快速概述它们扮演的角色,并可能提供一些关于它们为什么有用以及如何创建它们的信息?什么是Python鸡蛋?
回答
相同的概念为.jar
文件在Java中,它是一个.zip
文件的一些元数据文件改名为.egg
,分发代码包。
Specifically: The Internal Structure of Python Eggs
A “的Python蛋” 是体现的Python项目的 特定版本的发布的逻辑结构,包括它的代码资源, 和元数据。有多种格式可用于 物理编码Python鸡蛋,其他可以开发。然而, Python鸡蛋的一个关键原则是它们应该是可发现的,并且可以导入 。也就是说,应用程序 应该可以轻松高效地找出系统中存在的鸡蛋,并确保所需鸡蛋的内容是可导入的。
的
.egg
格式非常适合于分布和容易 卸载或代码升级,因为该项目基本上是 自足一个单一的目录或文件,unmingled与任何 其他项目的代码或资源的范围内。它还可以同时安装一个项目的多个版本,以便个别程序可以选择他们希望使用的版本。
.egg
文件是Python包的分发格式。它只是源代码分发或Windows exe
的替代方案。但是请注意,对于纯粹的Python
,.egg
文件是完全跨平台的。
.egg
文件本身本质上是一个.zip
文件。如果将扩展名更改为“zip
”,则可以看到它将具有归档中的文件夹。
此外,如果你有一个.egg
文件,你可以将它安装为使用easy_install
实例包: 要创建一个.egg
文件目录说mymath
其本身可能有几个Python脚本,请执行下列操作步骤:
# setup.py
from setuptools import setup, find_packages
setup(
name = "mymath",
version = "0.1",
packages = find_packages()
)
然后,从终端做:
$ python setup.py bdist_egg
这会产生大量的输出,但是当它完成,你会看到,你有新的文件夹:构建,DIST和MYMATH。egg-info。我们关心的唯一文件夹是DIST文件夹,你会发现你.egg
文件,mymath-0.1-py3.5.egg
与默认的Python(安装)版本号(我在这里:3.5)
“Egg”是Python相关项目的单文件可导入分发格式。
"The Quick Guide to Python Eggs"指出,“鸡蛋是蟒蛇的罐子到Java ......”
鸡蛋居然比罐子更丰富;他们持有有趣的元数据,如许可细节,发布依赖关系等。
- 1. Python鸡蛋文件有什么意义?
- 2. 为什么{{site.eggs.label}}不会为jekyll集合“鸡蛋”返回“鸡蛋”?
- 3. 是什么类似python鸡蛋的`gem server`(例如``pip server`)
- 4. 访问Python中的鸡蛋?
- 5. Python鸡蛋的缺点?
- 6. 鸡和蛋
- 7. python鸡蛋与常规包装有什么不同?
- 8. Plone:Plone开发鸡蛋的工作流程是什么?
- 9. Apache用户无法写入.python鸡蛋
- 10. Python鸡蛋的源代码在哪里?
- 11. 如何解压Python的鸡蛋?
- 12. Java中的鸡或鸡蛋难题
- 13. 循环依赖,鸡和鸡蛋
- 14. 鸡和鸡蛋春季豆绑定
- 15. 鸡和鸡蛋,JavaScript比。 Html属性
- 16. 聚合物indexedDB鸡内鸡蛋
- 17. “C或gcc”就像“鸡还是蛋”? :(
- 18. 如何关闭鸡蛋?
- 19. 鸡蛋定时器Javascript
- 20. 颠覆鸡和蛋问题
- 21. vagrant ssh密钥鸡和蛋
- 22. 从建筑物扔鸡蛋
- 23. 鸡蛋正则表达式
- 24. 的plist鸡/蛋的情况
- 25. 鸡和蛋电子邮件
- 26. Django:鸡或蛋问题
- 27. 为什么在安装本地鸡蛋库时pip失败?
- 28. 为什么我们需要蟒蛇包装(例如鸡蛋)?
- 29. 一个为什么会用一个鸡蛋在一个sdist?
- 30. 鸡蛋和零件之间的搭配有什么不同?