pip list

用法

python -m pip list [options]
py -m pip list [options]

說明

列出已安裝的套件,包含可編輯套件。

套件會以不分大小寫的排序順序列出。

選項

-o, --outdated

列出過時的套件

(環境變數:PIP_OUTDATED)

-u, --uptodate

列出最新的套件

(環境變數:PIP_UPTODATE)

-e, --editable

列出可編輯的專案。

(環境變數:PIP_EDITABLE)

-l, --local

如果在具有全球存取權的 virtualenv,則不要列出全球安裝的套件。

(環境變數:PIP_LOCAL)

--user

僅輸出已安裝在使用者網站中的套件。

(環境變數:PIP_USER)

--path <path>

在列出套件時,限制為指定的安裝路徑(可多次使用)。

(環境變數:PIP_PATH)

--pre

包含前發布和開發版本。預設情況下,pip 僅找到穩定版本。

(環境變數:PIP_PRE)

--format <list_format>

從下列選項中選擇輸出格式:欄位(預設值)、凍結或 json。無法將「凍結」格式搭配 --outdated 選項使用。

(環境變數:PIP_FORMAT)

--not-required

列出已安裝套件的相依套件中沒有包含的套件。

(環境變數:PIP_NOT_REQUIRED)

--exclude-editable

自輸出中排除可編輯套件。

(環境變數:PIP_EXCLUDE_EDITABLE)

--include-editable

自輸出中包含可編輯套件。

(環境變數:PIP_INCLUDE_EDITABLE)

--exclude <package>

自輸出中排除指定的套件

(環境變數:PIP_EXCLUDE)

-i, --index-url <url>

Python Package Index 的基本 URL(預設 https://pypi.org/simple)。此處應指向與 PEP 503 (簡單存放庫 API) 相容的存放庫或以相同格式布局的本機目錄。

(環境變數:PIP_INDEX_URL, PIP_PYPI_URL)

--extra-index-url <url>

除了 --index-url 之外還要使用的其他套件索引 URL。應遵循與 --index-url 相同的規則。

(環境變數:PIP_EXTRA_INDEX_URL)

--no-index

忽略套件索引(只查看 --find-links URL)。

(環境變數:PIP_NO_INDEX

-f, --find-links <url>

如果 URL 或路徑是 html 檔案,解析連往例如 sdist (.tar.gz) 或 wheel (.whl) 檔案的連結。如果是本機路徑,或在目錄清單中尋找檔案的 file:// URL,則在目錄清單中尋找檔案。不支援 VCS 專案 URL 的連結。

(環境變數:PIP_FIND_LINKS

例子

  1. 列出已安裝的套件(有預設欄位格式)。

    $ python -m pip list
    Package Version
    ------- -------
    docopt  0.6.2
    idlex   1.13
    jedi    0.9.0
    
    C:\> py -m pip list
    Package Version
    ------- -------
    docopt  0.6.2
    idlex   1.13
    jedi    0.9.0
    
  2. 列出有欄位格式的過期套件。

    $ python -m pip list --outdated --format columns
    Package    Version Latest Type
    ---------- ------- ------ -----
    retry      0.8.1   0.9.1  wheel
    setuptools 20.6.7  21.0.0 wheel
    
    C:\> py -m pip list --outdated --format columns
    Package    Version Latest Type
    ---------- ------- ------ -----
    retry      0.8.1   0.9.1  wheel
    setuptools 20.6.7  21.0.0 wheel
    
  3. 列出不屬於其他套件相依性的套件。可結合其他選項使用。

    $ python -m pip list --outdated --not-required
    Package  Version Latest Type
    -------- ------- ------ -----
    docutils 0.14    0.17.1 wheel
    
    C:\> py -m pip list --outdated --not-required
    Package  Version Latest Type
    -------- ------- ------ -----
    docutils 0.14    0.17.1 wheel
    
  4. 使用 json 格式

    $ python -m pip list --format=json
    [{'name': 'colorama', 'version': '0.3.7'}, {'name': 'docopt', 'version': '0.6.2'}, ...
    
    C:\> py -m pip list --format=json
    [{'name': 'colorama', 'version': '0.3.7'}, {'name': 'docopt', 'version': '0.6.2'}, ...
    
  5. 使用凍結格式

    $ python -m pip list --format=freeze
    colorama==0.3.7
    docopt==0.6.2
    idlex==1.13
    jedi==0.9.0
    
    C:\> py -m pip list --format=freeze
    colorama==0.3.7
    docopt==0.6.2
    idlex==1.13
    jedi==0.9.0
    
  6. 列出以可編輯模式安裝的套件

當有些套件是使用可編輯模式安裝時,pip list 會輸出額外的欄位,顯示可編輯專案的目錄位置(也就是包含有 pyproject.tomlsetup.py 檔案目錄)。

$ python -m pip list
Package          Version  Editable project location
---------------- -------- -------------------------------------
pip              21.2.4
pip-test-package 0.1.1    /home/you/.venv/src/pip-test-package
setuptools       57.4.0
wheel            0.36.2
C:\> py -m pip list
Package          Version  Editable project location
---------------- -------- ----------------------------------------
pip              21.2.4
pip-test-package 0.1.1    C:\Users\You\.venv\src\pip-test-package
setuptools       57.4.0
wheel            0.36.2

json 格式會輸出額外的 editable_project_location 欄位。

$ python -m pip list --format=json | python -m json.tool
[
  {
    "name": "pip",
    "version": "21.2.4",
  },
  {
    "name": "pip-test-package",
    "version": "0.1.1",
    "editable_project_location": "/home/you/.venv/src/pip-test-package"
  },
  {
    "name": "setuptools",
    "version": "57.4.0"
  },
  {
    "name": "wheel",
    "version": "0.36.2"
  }
]
C:\> py -m pip list --format=json | py -m json.tool
[
  {
    "name": "pip",
    "version": "21.2.4",
  },
  {
    "name": "pip-test-package",
    "version": "0.1.1",
    "editable_project_location": "C:\Users\You\.venv\src\pip-test-package"
  },
  {
    "name": "setuptools",
    "version": "57.4.0"
  },
  {
    "name": "wheel",
    "version": "0.36.2"
  }
]

注意事項

freeze 命令不同,pip list --format=freeze 報告的可編輯安裝資訊,是套件在安裝當時的版本,而不是後續的版本資訊。