- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我已经阅读了一些关于 .egg 文件的内容,并且在我的 lib 目录中注意到了它们,但是作为开发人员使用 then 的优点/缺点是什么?
最佳答案
来自 Python Enterprise Application Kit community :
"Eggs are to Pythons as Jars are to Java..."
Python eggs are a way of bundling additional information with a Python project, that allows the project's dependencies to be checked and satisfied at runtime, as well as allowing projects to provide plugins for other projects. There are several binary formats that embody eggs, but the most common is '.egg' zipfile format, because it's a convenient one for distributing projects. All of the formats support including package-specific data, project-wide metadata, C extensions, and Python code.
The primary benefits of Python Eggs are:
They enable tools like the "Easy Install" Python package manager
.egg files are a "zero installation" format for a Python package; no build or install step is required, just put them on PYTHONPATH or sys.path and use them (may require the runtime installed if C extensions or data files are used)
They can include package metadata, such as the other eggs they depend on
They allow "namespace packages" (packages that just contain other packages) to be split into separate distributions (e.g. zope., twisted., peak.* packages can be distributed as separate eggs, unlike normal packages which must always be placed under the same parent directory. This allows what are now huge monolithic packages to be distributed as separate components.)
They allow applications or libraries to specify the needed version of a library, so that you can e.g. require("Twisted-Internet>=2.0") before doing an import twisted.internet.
They're a great format for distributing extensions or plugins to extensible applications and frameworks (such as Trac, which uses eggs for plugins as of 0.9b1), because the egg runtime provides simple APIs to locate eggs and find their advertised entry points (similar to Eclipse's "extension point" concept).
There are also other benefits that may come from having a standardized format, similar to the benefits of Java's "jar" format.
-亚当
关于python - 将 python 库/应用程序打包为 .egg 文件有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47953/
我正在浏览一些关于 python 的书籍,以便自动执行任务,例如在书中查找短语和对不同的事物使用不同的正则表达式。我觉得编程在任何领域都有用。然而,现在我正在整理一本食谱,我想知道一些事情。第一个我可
我在尝试理解全局语句时用 Python 编写了这段代码 - eggs=24 def f(): print(eggs) eggs=25 print(eggs) f() print(eggs) 输出
问题是试图获得关于如何做到这一点的确切说明。之前尝试的很少,似乎不是完整的解决方案: solution to move the file inside the package solution to
似乎有不止一种方法可以将 egg 安装到 buildout 中。 方式一: [buildout] ... eggs = eggname othereggname ... 方式二:
我正在尝试通过 Eclipse Settings -> PyDev -> Interpreter - Python -> New Egg/Zip(s) 将 python egg 添加到我的 eclip
所有“M-x egg-”命令都可以正常工作 M-x egg-start-new-branch start new branch with name: xxx 但是所有的“C-x v”键绑定(bi
我遇到了与 adding .egg files to the path 类似/相同的问题,在 PyCharm IDE 中它说: 但是,从控制台我有: In[2]: from scipydirect i
我有一个 django 应用程序,已根据此处的文档打包:https://docs.djangoproject.com/en/1.5/intro/reusable-apps/ 我使用 setup.py
我有一个 python 项目,我想将位于该项目根目录下的两个包打包到一个 Egg 中。 我在根目录下有一个 setup.py,如下所示: from setuptools import setup, f
我正在尝试安装dajax/dajaxice根据他们的文档,这建议我在我的 settings.py 中取消注释 Eggs 模板加载器(下面元组中的第三个) . TEMPLATE_LOADERS = (
setup.py我维护的包中的文件,使用另一个包中的代码来构建扩展: from setuptools import setup, find_packages from mydependence imp
对于基于 C# 的程序,有几个选项可以确定安装了哪个 .Net 版本。但是是否可以确定是否安装了 .Net?我的意思是,如果我在没有安装任何 .Net 的机器上运行 C# 程序,我会收到以下错误: M
假设我做了一个鸡蛋 ~/toolz$ python setup.py bdist_egg creating 'dist/toolz-0.7.4-py3.4.egg' 如何检测这个蛋的模块名称?它总是版
我正在尝试为我的 postfix 安装设置 ftw.mail。由于我是 Linux 和 Python 的新手,所以我真的不知道它是正确的、正确的方向还是垃圾。 从官方文档中我发现了这个: Add ft
我创建了一个 python egg 文件,用于将我的一些 python 模块导入 Azure databricks 集群。 包内的一些文件引用了同一个包内的其他文件。在本地安装,一切正常。当我将包加载
newemail = 'test@gmail.com' import zipfile import re egg = zipfile.ZipFile('C:\\Users\\myname\\Deskt
尝试使用 Django 创建简单数据库时出现以下错误。我是这台计算机上的唯一用户,所以我应该是管理员。我如何才能获得权限以便 Django 可以做它的事情? 这里还有一些错误: [Errno 13]
在./eggs/文件夹中,我有eggs文件和带有文件名列表的eggs.txt文件。 我想将所有这些鸡蛋安装在这个文件夹中。 我可以做类似的事情吗?:: $ easy_install -r eggs.t
我正在尝试向 Python Markdown-2.0.3-py2.7.egg 添加视频扩展 一切都不正常,所以我想使用 pdb 调试器来查看发生了什么。 我好像找不到插入pdb的源码。 鸡蛋位于此处:
这个问题假定我要安装的 python 包是一个包含模板和媒体文件的 django 应用程序。但是这个问题对于任何不仅仅包含 .py 文件的 python 包都是有效的。 我正在使用 buildout
我是一名优秀的程序员,十分优秀!