使用 setuptools 在 Python 中安装 egg 文件

 更新时间:2023年08月19日 10:43:04   作者:迹忆客  
Eggs 是 Python 中以前使用的一种分发格式,它包含特定项目所需的信息,从依赖项到环境变量,在本文中,我们将讨论如何在 Python 中安装 egg 文件,以及可用于实现此操作的工具,感兴趣的朋友一起看看吧

早在 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:\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 分发格式。

解压以在 Python 中安装 egg 文件

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

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

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

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

python setup.py install

到此这篇关于在 Python 中安装 Egg 文件的文章就介绍到这了,更多相关Python 安装 Egg 文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python从list类型、range()序列简单认识类(class)【可迭代】

    Python从list类型、range()序列简单认识类(class)【可迭代】

    这篇文章主要介绍了Python从list类型、range()序列简单认识类(class),结合实例形式分析了list、range及自定义类等可迭代数据类型相关使用技巧,需要的朋友可以参考下
    2019-05-05
  • python自动结束mysql慢查询会话的实例代码

    python自动结束mysql慢查询会话的实例代码

    这篇文章主要介绍了python自动结束mysql慢查询会话,主要涉及到了mysql慢查询会话查询,定时任务的相关知识,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2019-10-10
  • python自动生成证件号的方法示例

    python自动生成证件号的方法示例

    这篇文章主要给大家介绍了关于python自动生成证件号的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • python的ping网络状态监测的实现(含多IP)

    python的ping网络状态监测的实现(含多IP)

    本文主要介绍了python的ping网络状态监测的实现(含多IP),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 如何将PySpark导入Python的放实现(2种)

    如何将PySpark导入Python的放实现(2种)

    这篇文章主要介绍了如何将PySpark导入Python的放实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • VSCode运行或调试python文件无反应的问题解决

    VSCode运行或调试python文件无反应的问题解决

    这篇文章主要给大家介绍了关于VSCode运行或调试python文件无反应的问题解决,使用VScode编译运行C/C++没有问题,但是运行Python的时候出了问题,所以这里给大家总结下,需要的朋友可以参考下
    2023-07-07
  • 跟老齐学Python之有容乃大的list(3)

    跟老齐学Python之有容乃大的list(3)

    现在是讲lis的第三章了。俗话说,事不过三,不知道在开头,我也不知道这一讲是不是能够把基础的list知识讲完呢。哈哈。其实如果真正写文章,会在写完之后把这句话删掉的。而我则是完全像跟看官聊天一样,就不删除了。
    2014-09-09
  • 详细聊一聊为什么Python没有main函数

    详细聊一聊为什么Python没有main函数

    相信很多初学python的人看代码的时候都会先找一下main()方法,从main往下看,但事实上python中是没有你理解中的“main()”方法的,下面这篇文章主要给大家介绍了关于为什么Python没有main函数的相关资料,需要的朋友可以参考下
    2023-03-03
  • 在Python的框架中为MySQL实现restful接口的教程

    在Python的框架中为MySQL实现restful接口的教程

    这篇文章主要介绍了在Python的框架中为MySQL实现restful接口的教程,文中的示例基于Flask和Django框架,需要的朋友可以参考下
    2015-04-04
  • Python中使用matplotlib绘制各类图表示例详解

    Python中使用matplotlib绘制各类图表示例详解

    这篇文章主要给大家介绍了关于Python中使用matplotlib绘制各类图表的相关资料,matplotlib是python的一个库,内部储存了大量的函数用于绘制图像,通常会与pandas和numpy库一起使用,平常我们通常只是用里面的pyplot模块,需要的朋友可以参考下
    2023-10-10

最新评论