早在 pip 时代之前,包就被存储为 .egg 文件,并通过 setuptools 组件进行安装。 但是,由于 pip 已被引入 Python,.egg 已被 wheel 文件 .whl 取代。

如果您正在使用其他软件包,则有可能与他们一起工作; 虽然它们已被弃用,但您可以解决它们并安装存储为 .egg 文件的包。

在本文中,我们将讨论如何在 Python 中安装 egg 文件,以及可用于实现此操作的工具。


使用 setuptools 在 Python 中安装 egg 文件

Eggs 是 Python 中以前使用的一种分发格式,它包含特定项目所需的信息,从依赖项到环境变量。

许多二进制格式代表 eggs,但 .egg zip 文件格式是最流行的一种,因为它对共享项目很有用,并简化了 Python 包和项目的分发。 除了 Python 代码之外,.egg 文件通常包含并使用项目范围的元数据、C 扩展和特定于包的数据。

使用 .egg 文件,您本身不需要构建或安装它; 您需要将它添加到您的 sys.path,但它可能经常需要运行时文件。 与流行的 Python 需求一样,requirements.txt 和 .egg 文件允许在其中声明库的规范。

如果您碰巧需要使用 .egg 文件并需要非 Python 数据文件,则需要安装 .egg 文件。 要安装 Python Eggs,您可以使用 easy_install。

我们将在 Windows 上的 Python 2.7 环境中进行所有操作,以使此处的所有操作都能正常工作。

要访问 easy_install,您需要安装 setuptools 包,它有助于下载、安装、管理、构建或删除 Python 包。

要安装 setuptools,我们需要从 setuptools 包页面下载 ez_setup.py。

下载 Python 文件后,将其传输到 Python27 目录,很可能是 C:\Python27。 现在,打开命令提示符,将目录更改为 C:\Python27 并设置 PYTHON_PATH。

set PYTHON_PATH=c:\Python27set Path=C:\Python27\Scripts

现在,运行以下命令来安装 setuptools 包。

python.exe ez_setup.py

easy_install.exe 命令现已安装,可用于在 Python 2.7 环境中安装一个 egg 文件。

由于 egg 文件现在已被弃用,因此很难找到一个作为示例显示的文件,但我们仍然可以使用 setuptools 模块创建它们。

在我们的例子中,我们将创建一个名为 delftscope 的空 egg 文件。 要创建这样的文件,我们需要创建一个包含以下代码的 setup.py 文件。

from setuptools import setup, find_packagessetup(name = "delftscope",version = "0.1",packages = find_packages())

之后,我们可以运行以下 python 命令,它会在其他目录旁边创建 egg 文件。 这些目录包括 build、dist 和 delftscope.egg-info。

python setup.py bdist_egg

在 dist 目录中,您会找到名为 delftscope-0.1-py3.10.egg 的 egg 文件。

现在我们有了一个 egg 文件,让我们使用 easy_install 程序来安装它。 由于我们已经使用 set 命令将其添加到 OS 环境中,因此我们应该可以在任何地方使用 easy_install。

要在 Python 中安装 egg 文件,您可以在 PowerShell 中使用以下命令。

easy_install .\delftscope-0.1-py3.10.egg

输出:

Processing delftscope-0.1-py3.10.eggCopying delftscope-0.1-py3.10.egg to c:\python27\lib\site-packagesAdding delftscope 0.1 to easy-install.pth fileInstalled c:\python27\lib\site-packages\delftscope-0.1-py3.10.eggProcessing dependencies for delftscope==0.1Searching for delftscope==0.1Reading https://pypi.python.org/simple/delftscope/

这样,您就可以安装打包在 egg 文件中的模块。 但是,Python 已经转向 wheel 分发格式。


解压以在 Python 中安装 egg 文件

Egg 文件是 zip 文件; 因此,您可以解压缩此文件。 所以,如果你在 Linux 上,你可以使用 unzip 包来提取它的内容,然后使用 setup.py 安装 egg 文件中的包。

要解压 egg 文件,可以使用 unzip 命令。

unzip -l delftscope-0.1-py3.10.egg

之后,您可以访问内容并运行 python 命令来安装包。

python setup.py install