目录

  • 前言
  • 1 显示所有channel
  • 2 移除清华镜像
  • 3 添加可用的清华源
  • 4 下载opencv
  • 5 一些其他的conda指令
  • 6. 遇到的问题
  • 6.1 更换默认源
  • 参考文献


前言

1)如何显示所有channel;
2)如何更换channel。

1 显示所有channel

首先,conda config --show能够显示出所有conda的config信息。

如果我们只想看channels的信息,输入conda config --show channels即可,如下:

(base) C:\Users\dehen>conda config --show channels
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - defaults

现在我们有两个源,一个清华镜像,一个defauls默认下载源。

然而这个清华源已经不能用了,我在下载opencv的时候,输入:conda install opencv,但是报错:

(base) C:\Users\dehen>conda install opencv
Solving environment: failed

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/win-64/repodata.json>
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
ConnectionError(ReadTimeoutError("HTTPSConnectionPool(host='mirrors.tuna.tsinghua.edu.cn', port=443): Read timed out."))

所以我打算删除这个源。

2 移除清华镜像

输入:conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
这个命令是为了移除之前conda config --show channels显示的清华源。

(base) C:\Users\dehen>conda config --remove channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

(base) C:\Users\dehen>conda config --show channels
channels:
  - defaults

(base) C:\Users\dehen>

这时候再运行conda config --show channels会发现清华源已经被删除了

3 添加可用的清华源

参考[4],我发现自己之前安装的清华源的地址https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ 是清华维护的conda三方源之一conda-forge的镜像,,,此外清华还有很多可用的源。

所以我根据官网指示进行了添加:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

conda config --set show_channel_urls yes的意思是从channel中安装包时显示channel的url,这样就可以知道包的安装来源了。

4 下载opencv

在添加好这个源(channel)之后,我重新运行conda install opencv,果然能够成功下载!!!

但是中间竟然是自动安装,在安装前的确认[Y/N]的时候,conda直接跳过了,默认是Y。。。

这让我非常难受,所以我运行了:

conda config --set always_yes false

(这里的意思是安装确认中,不默认yes,而是由我来决定)

5 一些其他的conda指令

conda install <包名> # 安装指定包
conda remove <包名> # 移除指定包
conda update <包名> # 更新指定包

6. 遇到的问题

6.1 更换默认源

如果您想使用清华大学的镜像,您应该在 Anaconda 配置中设置镜像源。您可以按照以下步骤设置清华大学的 Anaconda 镜像:

  1. 配置 Anaconda 使用清华大学的镜像源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
  1. 然后您可以正常使用 anaconda search 来搜索 TensorFlow 包,如:
(tf2) C:\Users\hello>anaconda search -t conda tensorflow

这会在您配置的镜像源中搜索 TensorFlow 包。如果您只是想要安装 TensorFlow,直接使用 conda install 命令:

(tf2) C:\Users\hello>conda install tensorflow

这将会从您设置的镜像源下载和安装 TensorFlow。

(tf2) C:\Users\hello>conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
Warning: 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/' already in 'channels' list, moving to the top

这个警告信息告诉你 https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 已经存在于你的 channels 列表中,所以 Conda 把它移到了列表的顶端。这通常是一个信息性的警告,意味着你想要添加的 channel 已经被添加过了,而 Conda 正在确保这个 channel 在搜索和安装包时拥有最高的优先级。

解决方法
这个警告本身并不是一个错误,不需要解决。它只是告诉你这个 channel 已经存在于列表中。如果你想要确认这个 channel 是否真的是列表中的第一个(也就是优先级最高的),你可以查看当前的 channels 配置。

查看已有的 channels
要查看当前配置的 channels 列表,你可以使用以下命令:

(tf2) C:\Users\hello>conda config --show channels

这个命令会列出所有配置的 channels,顺序是按照优先级从高到低排列的。

如果你想要调整 channels 的优先级,或者删除某个 channel,你可以使用 conda config --remove channels CHANNEL_URL 命令来删除,或者编辑 .condarc 配置文件来手动调整 channels 的顺序。.condarc 文件通常位于用户的主目录下,或者在 Anaconda 安装目录下。

如果你只是想要确保使用清华大学的镜像作为主要安装源,那么这个警告信息实际上是告诉你配置已经按照你的要求设置好了。