管理虛擬套件#

“虛擬” 套件被注入到 Conda 求解器中,以允許真實套件依賴於系統上存在的但 Conda 無法直接管理的功能,例如系統驅動程序版本或 CPU 功能。虛擬套件不是真正的套件,並且不會顯示在 conda list 中。相反,conda 運行一小段代碼來檢測與套件相對應的系統功能的存在或不存在。當前支持的虛擬套件列表包括

  • __cuda:顯示驅動程序支持的 CUDA 的最大版本。

  • __osx:適用時為 OSX 版本。

  • __glibc:OS 支持的 glibc 版本。

  • __linux:在 Linux 上運行時可用。

  • __unix:在 OSX 或 Linux 上運行時可用。

  • __win:在 Win 上運行時可用。

  • __conda:用於求解的 Conda 版本。

將在未來的 Conda 版本中添加其他虛擬套件。這些由包名稱中的前導雙下劃線表示。

注意

請注意,從 22.11.0 版本開始,虛擬套件 是作為 Conda 插件 實施的。

列出檢測到的虛擬套件#

使用終端完成以下步驟。

要查看檢測到的虛擬套件列表,請運行

conda info

如果檢測到套件,您將在 virtual packages 部分中看到它,如以下示例所示

    active environment : base
   active env location : /Users/demo/dev/conda/devenv
           shell level : 1
      user config file : /Users/demo/.condarc
populated config files : /Users/demo/.condarc
         conda version : 4.6.3.post8+8f640d35a
   conda-build version : 3.17.8
        python version : 3.7.2.final.0
      virtual packages : __cuda=10.0
      base environment : /Users/demo/dev/conda/devenv (writable)
          channel URLs : https://repo.anaconda.com/pkgs/main/osx-64
                         https://repo.anaconda.com/pkgs/main/noarch
                         https://repo.anaconda.com/pkgs/free/osx-64
                         https://repo.anaconda.com/pkgs/free/noarch
                         https://repo.anaconda.com/pkgs/r/osx-64
                         https://repo.anaconda.com/pkgs/r/noarch
         package cache : /Users/demo/dev/conda/devenv/pkgs
                         /Users/demo/.conda/pkgs
      envs directories : /Users/demo/dev/conda/devenv/envs
                         /Users/demo/.conda/envs
              platform : osx-64
            user-agent : conda/4.6.3.post8+8f640d35a requests/2.21.0 CPython/3.7.2 Darwin/17.7.0 OSX/10.13.6
               UID:GID : 502:20
            netrc file : None
          offline mode : False

覆蓋檢測到的套件#

為了進行故障排除,可以使用環境變量覆蓋虛擬套件檢測。支持的變量包括

  • CONDA_OVERRIDE_CUDA - CUDA 版本號,或設置為 "" 表示未檢測到 CUDA。

  • CONDA_OVERRIDE_OSX - OSX 版本號,或設置為 "" 表示未檢測到 OSX。

  • CONDA_OVERRIDE_GLIBC - GLIBC 版本號,或設置為 "" 表示沒有 GLIBC。這只適用於 Linux。