Python 编程/包管理
外观
pip 是标准的 Python 包管理器,可以轻松地从 PyPI 仓库下载和安装包。从 Python 2.7.9 和 3.5.4 版本开始,pip 就成为了 Python 发行版的一部分。如果你没有 pip,可以通过从 bootstrap.pypa.io 下载 get-pip.py 并运行 python get-pip.py 来安装它。本章不涉及其他包管理器。
pip 使用示例
- pip install xlrd
- 从 PyPI 仓库安装 xlrd 包,或者如果自定义为搜索其他仓库,则从其他仓库安装。
- pip install --upgrade xlrd
- 将包升级到最新版本。
- pip install mypackage.whl
- 从 wheel 文件 mypackage.whl 安装包。当由于某种原因无法从 PyPI 安装并且需要手动下载包的 wheel 文件 (.whl) 时,这很有用。
- pip freeze
- 列出已安装的包及其版本。
- pip show xlrd
- 输出有关已安装包(此处为 xlrd)的信息,包括版本、作者和许可证。
- python -m pip install xlrd
- 通过 python 和 -m 选项调用 pip。例如,在为 PyPy(Python 的即时编译器)安装包时很有用,在这种情况下,您将使用 pypy -m pip install xlrd。
- pip --version
- 输出 pip 版本。
- pip install --upgrade pip
- 升级 pip 本身。
PyPI 是一个 Python 包的在线仓库,其中许多包是在相当宽松的许可证(如 MIT 许可证或 BSD 许可证之一)下发布的。PyPI 托管纯 Python 包和利用 C 语言的 Python 包。安装纯 Python 包(如 xlrd)通常非常顺利。对于 C 语言包,其中许多包都有针对多个操作系统的预编译二进制文件,这使得安装也同样顺利。但是,对于仅发布源代码的 C 语言包,pip 需要一个正常工作且设置正确的编译器才能成功安装该包。
wheel 文件 是一个包分发。它可以包含纯 Python 代码,也可以根据需要包含预编译的可执行二进制文件。单个包可以为不同的 Python 版本和操作系统提供多个 wheel 文件。包含预编译二进制文件的示例 wheel 文件是 numpy-1.16.2-cp27-cp27m-win32.whl,用于 numpy 包,可从 pypi 下载文件 部分获取。如果您在使用 pip 时没有遇到问题,则无需担心 wheel 文件。
此文件列出了应用程序依赖项。它相当于 PHP 中的 composer.json 或 JavaScript 中的 package.json。
文件生成
pip freeze > requirements.txt
依赖项安装
pip install -r requirements.txt
- pip - Python 包安装程序,pip.pypa.io
- 安装 在 pip 文档中,pip.pypa.io
- 如何在 Windows 上安装 pip?,stackoverflow.com
- 安装包,packaging.python.org
- 打包 Python 项目,packaging.python.org
- Python 包索引 (PyPI),pypi.org
- PyPI 上超过 10% 的 Python 包未附带任何许可证,2018 年,snyk.io