参考翻译自官方文档:https://pip.pypa.io/en/stable/

快速入门

PyPI 安装包

  1. pip install SomePackage

安装已经从PyPI下载或从其他地方获取的包。如果目标计算机没有网络连接,这非常有用:

  1. pip install SomePackage-1.0-py2.py3-none-any.whl

列出已过时的包

  1. pip list -o

升级包

  1. pip install -U some_package

卸载包

  1. pip uninstall SomePackage

显示安装包信息

  1. pip show SomePackage

查询包

  1. pip search "query"

升级 pip

  1. # Windows
  2. python -m pip install -U pip
  3. # Linux/MacOS
  4. pip install -U pip

用户指南

安装包

  1. pip install SomePackage # 安装最新版本
  2. pip install SomePackage==1.0.4 # 安装特定版本
  3. pip install 'SomePackage>=1.0.4' # 指定最小版本

依赖文件

输出已安装的软件包

  1. pip freeze > requirements.txt

requirements.txt 文件中安装所有包

  1. pip install -r requirements.txt

从 git 上安装

  1. pip install git+https://myvcs.com/some_dependency@sometag#egg=SomeDependency

从 Wheels 安装

从 Wheels 中安装

  1. pip install SomePackage-1.0-py2.py3-none-any.whl

对于没有 wheels 的情况,pip 提供了 pip wheel 命令,为您所有的需求和依赖关系构建 wheels。 pip wheel 需要安装 wheels 包,它使用的 setuptools 包的 bdist wheel 命令。

将您的需求及其所有依赖关系构建到一个本地目录

  1. pip install wheel
  2. pip wheel --wheel-dir=/local/wheels -r requirements.txt

然后仅使用您的本地 wheels 目录(而不是来自PyPI)安装这些依赖:

  1. pip install --no-index --find-links=/local/wheels -r requirements.txt

从本地安装

在某些情况下,您可能无法使用 PyPI(如公司内网),只想从本地软件包安装。这时候可以首先下载符合您要求的依赖包:

  1. $ pip download --destination-directory DIR -r requirements.txt

请注意,在尝试从PyPI下载之前,pip下载将首先在您的 wheel 缓存中查找。 如果您以前从未安装过这些依赖,那么这些依赖将不会被 wheels 缓存。 在这种情况下,如果您的某些依赖不是来自PyPI的轮子,而您想要 wheels,那么请运行以下命令:

  1. $ pip wheel --wheel-dir DIR -r requirements.txt

然后,要仅从本地安装,将使用—find-links—no-index,如下所示:

  1. $ pip install --no-index --find-links=DIR -r requirements.txt

相当于 pip install develop

  1. pip install -e <path/url>


安装包

使用pip wheel,您可以将所有项目的依赖关系以及完成的编译捆绑到一个存档中。 这样可以在索引服务器不可用时进行安装,并避免了耗时的重新编译。 创建一个这样的档案:

  1. $ tempdir=$(mktemp -d /tmp/wheelhouse-XXXXX)
  2. $ pip wheel -r requirements.txt --wheel-dir=$tempdir
  3. $ cwd=`pwd`
  4. $ (cd "$tempdir"; tar -cjvf "$cwd/bundled.tar.bz2" *)

然后,您可以从档案库进行安装,如下所示:

  1. $ tempdir=$(mktemp -d /tmp/wheelhouse-XXXXX)
  2. $ (cd $tempdir; tar -xvf /path/to/bundled.tar.bz2)
  3. $ pip install --force-reinstall --ignore-installed --upgrade --no-index --no-deps $tempdir/*

请注意,编译后的程序包通常是特定于OS和体系结构的,因此这些归档文件不一定跨计算机移植。

从程序使用pip

  1. subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'my_package'])
  2. reqs = subprocess.check_output([sys.executable, '-m', 'pip', 'freeze'])

设置多个源

  1. [global]
  2. index-url=http://pypi.douban.com/simple
  3. extra-index-url=http://mirrors.aliyun.com/pypi/simple/
  4. extra-index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
  5. extra-index-url=http://pypi.mirrors.ustc.edu.cn/simple/
  6. [install]
  7. trusted-host=pypi.douban.com
  8. trusted-host=mirrors.aliyun.com
  9. trusted-host=pypi.tuna.tsinghua.edu.cn
  10. trusted-host=pypi.mirrors.ustc.edu.cn

先从index-url查找,找不到则从extra-index-url查找。这在既有本地私有源,也有外部源的时候比较有用。

其他

从本地项目路径或VCS网址以可编辑模式(即 setuptools 的 develop 模式)运行命令:

  1. $ pip install -e <path/url>
  2. $ pip wheel [options] [-e] <local project path/vcs project url>
  3. # 列出可 editable 的项目
  4. $ pip list -e