早在 pip 时代之前,包就被存储为 .egg 文件,并通过 setuptools 组件进行安装。 但是,由于 pip 已被引入 Python,.egg 已被 wheel 文件 .whl 取代。
如果您正在使用其他软件包,则有可能与他们一起工作; 虽然它们已被弃用,但您可以解决它们并安装存储为 .egg 文件的包。
在本文中,我们将讨论如何在 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:\Python27
set 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_packages
setup(
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.egg
Copying delftscope-0.1-py3.10.egg to c:\python27\lib\site-packages
Adding delftscope 0.1 to easy-install.pth file
Installed c:\python27\lib\site-packages\delftscope-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 分发格式。
Egg 文件是 zip 文件; 因此,您可以解压缩此文件。 所以,如果你在 Linux 上,你可以使用 unzip 包来提取它的内容,然后使用 setup.py 安装 egg 文件中的包。
要解压 egg 文件,可以使用 unzip
命令。
unzip -l delftscope-0.1-py3.10.egg
之后,您可以访问内容并运行 python 命令来安装包。
python setup.py install