在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
文件。这些目录包括:build
,dist
,和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