微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我不能使用 pip 安装 cudatookkit=10.1 但可以使用 conda?

如何解决为什么我不能使用 pip 安装 cudatookkit=10.1 但可以使用 conda?

$ pip install cudatoolkit==10.1
Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not find a version that satisfies the requirement cudatoolkit==10.1 (from versions: none)
ERROR: No matching distribution found for cudatoolkit==10.1

这失败了。但是,conda 有效:

$ conda install cudatoolkit=10.1
Collecting package Metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /data0/congmin/miniconda

  added / updated specs:
    - cudatoolkit=10.1


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    ca-certificates-2021.5.25  |       h06a4308_1         112 KB
    certifi-2021.5.30          |   py38h06a4308_0         138 KB
    conda-4.10.1               |   py38h06a4308_1         2.9 MB
    cudatoolkit-10.1.243       |       h6bb024c_0       347.4 MB
    openssl-1.1.1k             |       h27cfd23_0         2.5 MB
    ------------------------------------------------------------
                                           Total:       353.1 MB

我需要用pip安装,因为我想把它放在requirements.txt中。

解决方法

pip 依赖 https://pypi.org/ 作为默认包存储库。

Anaconda 拥有自己的存储库

cudatoolkit 不是 pypi 中的包。所以pip找不到任何这样的包。

它在 conda 存储库中可用。

cudatoolkit 在 pypi 中不可用的原因是因为它不是 python 包。它是一个来自 nvidia 的工具包,它需要一个 C 编译器才能存在于您的系统中。 Pip 从未打算处理此类情况,而 Anaconda 则是。

有关详细信息,请参阅此 blog post from Anaconda

这突出了 conda 和 pip 之间的主要区别。 Pip 安装 Python 包,而 conda 安装可能包含用任何语言编写的软件的包。

就添加到 requirements.txt 而言。如果您也在目标系统中使用 conda,则可以将 conda 环境导出到 environment.yml 文件,然后在目标机器中克隆环境。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。