在Python中安装鸡蛋文件

早在pip 时代之前,软件包被存储为.egg 文件,并通过setuptools 组件进行安装。然而,自从pip 被引入 Python 以来,.egg 已经被轮子文件,.whl 所取代。

如果你正在使用其他软件包,有可能面临与它们一起工作;虽然它们已经被废弃,但你可以绕过它们,安装存储为.egg 文件的软件包。

在这篇文章中,我们将讨论如何在Python中安装egg 文件,以及你可以使用哪些工具来实现这一操作。

使用setuptools 在 Python 中安装egg 文件

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

众多的二进制格式代表鸡蛋,但.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:Python27
set Path=C:Python27Scripts

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

python.exe ez_setup.py

现在已经安装了easy_install.exe 命令,可以用来在你的 Python 2.7 环境中安装一个egg 文件。

因为egg 文件现在已经废弃了,所以可能很难找到一个作为例子来展示,但是我们仍然可以使用setuptools 模块来创建它们。

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

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

之后,我们可以运行下面的python 命令,该命令在其他目录旁边创建egg 文件。这些目录包括:builddist ,和delftscope.egg-info

python setup.py bdist_egg

dist 目录中,你会发现egg 文件,其名称为delftscope-0.1-py3.10.egg

现在我们有一个egg 文件可以使用,让我们使用easy_install 程序来安装它。由于我们已经用set 命令把它添加到操作系统环境中,我们应该可以在任何地方使用easy_install

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

easy_install .delftscope-0.1-py3.10.egg

输出:

Processing delftscope-0.1-py3.10.egg
Copying delftscope-0.1-py3.10.egg to c:python27libsite-packages
Adding delftscope 0.1 to easy-install.pth file
Installed c:python27libsite-packagesdelftscope-0.1-py3.10.egg
Processing dependencies for delftscope==0.1
Searching for delftscope==0.1
Reading https://pypi.python.org/simple/delftscope/

有了这个,你就会在egg 文件内安装打包的模块。然而,Python 已经转到了wheel 的发布格式。

Unzip 在 Python 中安装egg 文件

鸡蛋文件是zip 文件;因此,你可以解压这个文件。因此,如果你在 Linux 上,你可以使用unzip 包来提取其内容,然后使用setup.py 来安装存放在egg 文件中的包。

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

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

之后,你可以访问其内容并运行python 命令来安装该软件包。

python setup.py install