在你想要卸载包时,一直都要记得检查一遍依赖项。你可能希望卸载一个软件包的所有依赖,不过如果有其它软件包在使用这些依赖,会导致程序崩溃。
pip 的替代品
pip 是所有 Pythonista 必备的基本工具,很多应用程序和项目使用它作为软件包管理器。本教程帮助你了解基础知识,而 Python 社区非常积极的为其它开发人员提供了很棒的工具和库。其中包括 pip 的替代品,期望实现简单高效的包管理。
在本节,你将了解到 Python 中其它可用的包管理工具。
万能的 Conda
Conda 是一个包括 Python 在内的多种语言的包、依赖及环境管理器。实际上,它最早来源于 Anaconda,作为 Python 中研究数据科学的包出现。
Conda 广泛用于数据科学和机器学习应用程序,并使用自己的索引来托管兼容的软件包。
Conda 不仅可以管理包的依赖项,还可以管理应用的虚拟环境,安装兼容并存的 Python 版本,为生产部署打包应用。
在 Windows 系统上为机器学习设置 Python 很好的介绍了 Conda,它探讨了包和环境管理。唯一与 Windows 相关的特定信息是安装,因此如果你使用的是其他系统平台,它仍然是可信的。
Pipenv
Pipenv 是另外一种包管理工具,旨在为 Python “提供全世界最好的包”。由于将虚拟环境与包管理合并到一个工具中,pipenv 在 Python 社区获得了极大的关注。
它还解决了在使用 pip 手动管理依赖关系是遇到的一些常见问题,比如,包的版本,隔离开发与生产环境依赖,锁定生产环境版本等。
Pipenv:新的 Python 打包工具指南是一份很好的学习 Pipenv 及其包管理的入门材料。尽管这篇文章的标签是中级,但是作者对读者做了很好的引导,初学 Python 的人也能理解这篇文章。
Poetry
Poetry 是另一个受到大量关注的 pip 替代品。与 Pipenv 类似,它简化了包的版本管理并隔离了开发环境与生产环境的依赖,而且它将依赖隔离到一个虚拟环境中运行。
如果你已经了解 JavaScript 和 npm,会觉得 Poetry 非常熟悉。它不只是管理包,还可以帮助你为应用和库构建发行版本并部署到 PyPI。如何向 PyPI 发布一个开源的 Python 包中一个很棒的 Poetry 介绍可以帮你入门。
总结:什么是 pip?
本教程回答了问题:什么是 pip?你现在已经知道,pip 是 Python 的包管理器,被很多项目用于依赖管理。现在 Python 安装器已经包含了 pip,使它成为所有的 Pythonista 都应当会用的基础工具。
Python 提供了一个适用于开发各种应用的标准库扩展,但是 Python 活跃的社区提供了更多的工具和库,可以加速 Python 应用开发。
这些工具和库都发布在 Python 包索引(PyPI)上,并且使用 pip 允许开发者在自己的环境中安装它们。
通过这篇教程,你可以学到:
1. 在命令行使用 pip 以及需求文件安装新的软件包
2. 管理依赖,隔离开发与生产环境,以及创建一个锁定的需求文件
3. 通过 pip 和 PyPI 查找包
4. 在卸载包之前评估包依赖,以及如何卸载包此外,你已经了解到保持依赖处于最新的重要性,而且,pip 的很多替代品可以帮你管理这些依赖。
如果你有任何问题,可以随时在下面的评论部分留言,你还可以随时在 pip 文档页面获取更多信息。
英文原文:https://realpython.com/what-is-pip/译者:敦伟