Python软件包管理器

2021-01-29 13:13:14

如果没有包管理器,开发人员将很难使用NumPy或Pandas之类的开源库。

了解Python包管理器的原始记录和历史记录非常有用。本文将对Python软件包管理器的历史和现状进行广泛的总结。

您可以使用以下目录跳到本文中有关Python包管理器历史的特定部分:

当前,Python中最受欢迎的软件包管理器是Pip,它是在Python 2.7.9之后引入的。在Pip之前,软件包管理的主要工具是disutils或其第三方扩展easy_install。

让我们逐一查看所有这些内容,然后首先说明这里的软件包。在Python中,程序包定义为包含其他模块或程序包的模块。这些是您在Python代码中导入的包。但是,这些不是此处讨论的软件包。

此处提到的软件包是分发软件包,它们是版本化的存档文件,其中包含模块,软件包和其他文件,这些文件对于分发特定版本很重要。

这些存档文件是用户使用Pip或任何其他软件包管理器安装软件包时下载的文件。创建发行版是允许用户使用Python项目的方式。

在本教程中,您将首先了解可用于创建Python发行版的工具。然后,您将了解可用于安装这些发行版的工具。简而言之,您将学到有关维护数据科学家工作时遇到的Python软件包的所有知识。

要开始本教程,您将首先在系统上安装Python,然后学习Python Package Index,并了解有关disutils的更多信息以及如何使用它来注册和上传软件包。接下来,您将了解Setuptools和Easy Install,这是使用Setuptools的第三方应用程序。

您将最终了解Pip,最后了解与Anaconda一起预装的Conda。 Conda比Pip强大得多,因为它支持环境和程序包管理,允许您创建和删除环境。您可以从这里了解如何安装Anaconda。

在继续进行软件包管理之前。第一步是检查系统上是否安装了Python。检查这很容易,但是取决于您如何安装Python。

如果在Windows上安装了Anaconda,则在Windows搜索中搜索Anaconda Prompt,然后打开命令提示符。在其中输入:

如果已正确安装并配置了所有内容,则应获取安装的Python版本作为输出:

否则,如果您在没有安装Python的情况下在命令提示符或终端上运行命令,则会得到以下内容:

追溯(最近一次通话为last):文件"< stdin>"在<模块> NameError中的第1行:name' python'没有定义

如果您正在使用Jupyter之类的交互式笔记本来使用Python,则可以在开始时使用带有感叹号的同一命令来检查系统上安装的Python版本。

您将获得安装的Python版本作为输出,类似于在anaconda提示符下运行的方式。图一显示了使用Jupyter Notebook的输出。

Python软件包索引(PyPi)本质上是一个庞大的Python软件包第三方存储库。它也被称为“奶酪商店”,以称为sdists(源代码分发)的存档形式或预编译的Wheels形式保存软件包。

PyPi允许您对Python软件包发行版进行版本控制,从而使您可以根据需要尽可能多地更新存储库。每当您更新元数据时,都会在PyPi存储库上更新新版本。

最终用户可以通过关键字或包的元数据搜索相关的包。因此,PyPi存储库的行为就像一个索引,它存储了113,000多个Python包。

当您尝试使用Pip或easy_install安装软件包时,PyPi是Pip搜索的存储库。这是一个有效的发行渠道,即使是新手开发人员也可以用来共享其Python项目。

Disutils是用于Python打包的标准工具,它是由核心团队开发的,并包含在标准Python库中。它有两个主要命令,用于将数据打包和上传到PyPi。

register命令用于将元数据发送到PyPi,而upload命令用于上载提交的分发文件。

本教程不会详细介绍如何打包Python项目并将其上传到PyPi。如果您想了解如何使用disutils上传Python项目,请从此处阅读官方指南。

尽管disutils允许您打包Python项目,但它仅提供非常有限的功能。 Disutils由Python核心团队构建,仅实现核心标准和最少的必要编译。

要获得更高级和有用的功能,请使用setuptools,该工具提供了扩展的编译器,软件包格式和其他支持,可以有效地打包Python项目。由于setuptools是第三方软件包,因此未预先安装Python库。

本教程不会讨论如何使用setuptools打包Python项目。要了解有关使用setuptools的信息,您可以按照此开发人员指南使用setuptools。该指南提到了开始使用setuptools时需要了解的所有重要命令和关键字。

在安装Pip之前,安装起来很容易,它也是Python的软件包管理器。易于安装,可以自动下载,构建,安装和更新Python软件包。

使用简单安装与Pip非常相似,您必须提供URL,文件名或PyPi项目名称才能获得指定的Python包。 输入适当的软件包名称后,轻松安装将尝试为您获取Python软件包的最新可用版本。 简易安装可识别带有.zip,.tar.bz2,.tar.gz和其他一些扩展名的文件。 它还支持使用disutils构建的.egg和.win2.exe发行版。 让我们重点介绍一些易于安装的基本命令。 您可以使用以下简单安装命令来安装Python软件包: 如果您知道Python软件包的URL和软件包名称,可以通过以下方法进行安装: 如果要安装软件包的特定版本,可以通过添加版本名称来完成: 您可以通过输入以下命令来还原到软件包的先前版本: 要卸载软件包,请使用以下命令删除对该软件包的所有引用:

运行命令后,您可以从系统中手动删除.egg和任何其他相关文件。

要了解有关轻松安装以及如何轻松管理Python软件包的更多信息,请访问此处的官方文档。

Pip安装软件包或Pip,因为它是众所周知的最著名的Python软件包管理器。它可以方便地安装和维护Python软件包索引(PyPi)中的Python软件包。

2.7.9以后的Python版本带有预安装的pip。它也是基于setuptools构建的,于2008年发布,直接取代了易于安装的功能。 pip发行时的一个显着特征是,它没有将软件包安装为鸡蛋,而是通过需求文件安装了它们,从而使用户可以方便地复制环境。您可以在此处详细了解pip和简单工具之间的区别。

由于pip旨在替代易用的工具,因此大多数pip命令与易安装非常相似。让我们检查一些最常见的pip命令。

以下是使用pip安装最新版本软件包的方法:

如果要安装软件包的特定版本,可以通过添加版本名称来完成:

pip的一个很棒的功能是它通过使用requirements.txt文件来支持软件包的安装。文本文件包括运行项目所需的软件包列表及其版本号。

您可以通过以下方式运行需求文件以安装所有这些软件包:

安装Anaconda时会包含Conda,它是Python的免费和开源发行版。 Conda允许您安装软件包并管理环境。它带有一个默认的环境库,只要您在Anaconda中使用Python,它就会被激活。

建议您不要使用基本环境,而要创建自己的环境来隔离Python项目。本教程只是对Conda的荣誉提及,因为它是领先的Python软件包管理器。还有更多功能,您可以从Conda官方教程中学习。

无论是为您的类创建一个简单的Python项目,还是领导一个巨大的开源项目,都需要包管理才能将代码分发给最终用户。通过本教程,您现在已经掌握了足够的信息,以了解Python包管理域中使用的术语,并了解如何分发Python项目。

如果您喜欢这篇文章,请确保加入我的《开发者月刊》新闻通讯,我将在其中发布Python和JavaScript领域的最新新闻: