跳转到内容

Python 编程/包管理

来自 Wikibooks,开放世界中的开放书籍

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 文件。

requirements.txt

[编辑 | 编辑源代码]

此文件列出了应用程序依赖项。它相当于 PHP 中的 composer.json 或 JavaScript 中的 package.json。

文件生成

pip freeze > requirements.txt

依赖项安装

pip install -r requirements.txt
[编辑 | 编辑源代码]
华夏公益教科书