为什么 conda 默认使用 cudatoolkit=11.2 安装旧的 pytorch

Why conda installs old pytorch with by default with cudatoolkit=11.2

我正在尝试在 google colab 上为 cudatoolkit=11.2 安装 conda 使用:

conda install pytorch cudatoolkit=11.2 -c pytorch -c nvidia

但是为什么它安装旧的 pytorch=1.0.0 版本而不是 >1.6

如果我尝试强制安装 pytorch=1.6,它会出现以下错误:

UnsatisfiableError: The following specifications were found to be incompatible with a past
explicit spec that is not an explicit spec in this operation (cudatoolkit):

  - cudatoolkit=11.2
  - pytorch=1.6 -> cudatoolkit[version='>=10.1,<10.2|>=10.2,<10.3|>=9.2,<9.3']

The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package setuptools conflicts for:
setuptools
python=3.7 -> pip -> setuptools
conda[version='>=4.10.3'] -> setuptools[version='>=31.0.1']
wheel -> setuptools
pip -> setuptools
...

根据答案编辑:

当我尝试使用 conda install -c conda-forge pytorch cudatoolkit=11.2 时,出现以下错误。

PackagesNotFoundError: The following packages are not available from current channels:

  - cudatoolkit=11.2
  - __glibc[version='>=2.17,<3.0.a0']

Current channels:

  - https://conda.anaconda.org/conda-forge/linux-64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://repo.anaconda.com/pkgs/main/linux-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/free/linux-64
  - https://repo.anaconda.com/pkgs/free/noarch
  - https://repo.anaconda.com/pkgs/r/linux-64
  - https://repo.anaconda.com/pkgs/r/noarch
  - https://repo.anaconda.com/pkgs/pro/linux-64
  - https://repo.anaconda.com/pkgs/pro/noarch

The pytorch channel 还没有任何 pytorch 构建与 cudatoolkit=11.2 兼容。求解器发现的是旧版本的 PyTorch,它们在依赖版本上没有适当的上限。

如果您坚持cudatoolkit=11.2,那么您将需要坚持使用 Conda Forge 堆栈:

conda install -c conda-forge pytorch cudatoolkit=11.2

否则,如果您想要官方 PyTorch 构建,那么它们会构建到 v11.1 兼容版本:

conda install -c pytorch -c conda-forge pytorch cudatoolkit=11.1