我是Python的新手,我只是想了解它的包是如何工作的.据推测,"鸡蛋"是某种包装机制,但是它们可以快速概述它们扮演的角色,也可能是一些关于它们为什么有用以及如何创建它们的信息?
小智 499
与.jar
Java中的文件相同的概念,它是一个.zip
重命名了一些元数据文件的文件.egg
,用于将代码分发为bundle.
"Python egg"是一个逻辑结构,体现了Python项目特定版本的发布,包括其代码,资源和元数据.有多种格式可用于物理编码Python egg,其他格式可以开发.然而,Python egg的一个关键原则是它们应该是可发现的和可导入的.也就是说,Python应用程序应该可以轻松有效地找出系统中存在的蛋,并确保所需的蛋的内容是可导入的.
该
.egg
格式非常适合分发和代码的轻松卸载或升级,因为项目基本上是自包含在单个目录或文件中,与任何其他项目的代码或资源无关.它还可以同时安装多个版本的项目,以便各个程序可以选择他们希望使用的版本.
kma*_*o23 70
该.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()
)
Run Code Online (Sandbox Code Playgroud)
然后,从终端做:
$ python setup.py bdist_egg
Run Code Online (Sandbox Code Playgroud)
这会生成很多输出,但是当它完成后你会看到你有三个新文件夹:build,dist和mymath.egg-info.我们关心的唯一文件夹是dist文件夹,你可以找到你的.egg
文件,mymath-0.1-py3.5.egg
你的默认python(安装)版本号(我的这里:3.5)
资料来源:Python图书博客
use*_*461 40
免责声明:egg是一种废弃的python包格式,使用egg的工具已经不存在了。
一个egg是一个python包。它是一个 zip 存档,包含 python 源文件和/或编译的库。
该格式没有明确规定它必须包含什么内容或如何为不同版本的 python 和不同操作系统制作包,这是它被替换的原因之一。
该格式于 2004 年左右出现,一直使用到 2010 年代中期,已完全被wheels
和取代pip install
。
鸡蛋是通过命令安装的easy_install
。该命令已在 setuptools v58.3(2021 年)中删除。您不能再使用鸡蛋。
如果您看到任何提及easy_install
或 的egg
内容,无论是任何堆栈溢出答案还是教程,它都已经严重过时了。
推荐这个较长的答案/sf/answers/4822828601/以深入了解 python 打包的历史。它涉及点、轮子、鸡蛋等等。
更新:自 2023 年 7 月起,官方 python 包存储库 pypi.org不再接受 .egg 包的上传。
“Egg”是 Python 相关项目的单文件可导入分发格式。
《Python Egg 快速指南》指出,“鸡蛋之于 Python,就像罐子之于 Java……”
鸡蛋实际上比罐子更丰富;它们保存有趣的元数据,例如许可详细信息、版本依赖项等。
归档时间: |
|
查看次数: |
210824 次 |
最近记录: |