如何从Anaconda中删除URL频道?

Moh*_*esr 25 python channel anaconda pypdf2

最近我需要使用Anaconda将PyPdf2安装到我的一个程序中.不幸的是,我失败了,但是添加到Anaconda环境的URL禁止更新所有Conda库.每当我尝试更新anaconda时,它都会提供以下信息

conda update conda
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata ..........Error: Invalid index file: https://pypi.python.org/pypi/PyPDF2/1.26.0/win-64/repodata.json: No JSON object could be decoded
Run Code Online (Sandbox Code Playgroud)

我键入命令conda info以查看导致错误的原因,我发现许多指向PyPdf2的URL!

简单地说,我想从anaconda的频道URL中删除所有这些URL,我该怎么办?无论是手动还是自动.

注意:我已经卸载了Anaconda,并重新安装,但没有运气!

C:\WINDOWS\system32>conda info
Using Anaconda Cloud api site https://api.anaconda.org
Current conda install:

             platform : win-64
        conda version : 4.1.6
    conda-env version : 2.5.1
  conda-build version : 1.21.3
       python version : 2.7.12.final.0
     requests version : 2.10.0
     root environment : C:\Anaconda2  (writable)
  default environment : C:\Anaconda2
     envs directories : C:\Anaconda2\envs
        package cache : C:\Anaconda2\pkgs
         channel URLs : https://pypi.python.org/pypi/PyPDF2/1.26.0/win-64/
                        https://pypi.python.org/pypi/PyPDF2/1.26.0/noarch/
                        https://conda.anaconda.org/C:\Python27\Lib\site-packages\PyPDF2/win-64/
                        https://conda.anaconda.org/C:\Python27\Lib\site-packages\PyPDF2/noarch/
                        https://conda.anaconda.org/X:\Downloads\Compressed\PyPDF2-master\/win-64/
                        https://conda.anaconda.org/X:\Downloads\Compressed\PyPDF2-master\/noarch/
                        https://github.com/mstamy2/PyPDF2/zipball/master/win-64/
                        https://github.com/mstamy2/PyPDF2/zipball/master/noarch/
                        https://pypi.python.org/pypi/PyPDF2/win-64/
                        https://pypi.python.org/pypi/PyPDF2/noarch/
                        https://pythonhosted.org/PyPDF2/win-64/
                        https://pythonhosted.org/PyPDF2/noarch/
                        https://github.com/mstamy2/PyPDF2/win-64/
                        https://github.com/mstamy2/PyPDF2/noarch/
                        https://repo.continuum.io/pkgs/free/win-64/
                        https://repo.continuum.io/pkgs/free/noarch/
                        https://repo.continuum.io/pkgs/pro/win-64/
                        https://repo.continuum.io/pkgs/pro/noarch/
          config file : C:\Users\Dr. Mohammad Elnesr\.condarc
         offline mode : False
    is foreign system : False
Run Code Online (Sandbox Code Playgroud)

Pau*_*aul 28

扩展穆罕默德的答案.

您在自己看到的所有网址conda info都是您的频道网址.这些是conda将寻找包的地方.如@cel所述,这些频道可以.condarc在主目录的文件中找到.

您可以.condarc使用该conda config命令与文件中的通道和其他数据进行交互.例如,假设您的.condarc文件列出了以下渠道:

channels:
  - https://github.com/mstamy2/PyPDF2/  
  - defaults
Run Code Online (Sandbox Code Playgroud)

如果我们这样做,conda config --get channels我们会看到返回:

--add channels 'defaults'   # lowest priority
--add channels 'https://github.com/mstamy2/PyPDF2/'   # highest priority
Run Code Online (Sandbox Code Playgroud)

如果我们想删除github通道,我们会这样做conda config --remove channels 'https://github.com/mstamy2/PyPDF2/'.您还可以通过--add命令添加频道,例如,我们可以添加该频道conda config --add channels 'https://github.com/mstamy2/PyPDF2/'.

在这种情况下,由于有几个要删除的通道,直接编辑它可能更快,.condarc但知道如何通过它是有用的conda config.


Moh*_*esr 19

幸运的是,我找到了答案(也感谢@cel).

我导航到C:\Users\{MyUserName}\然后我找到了一个没有名字但有一个奇怪的扩展名的文件(.condarc)我用Notepad ++打开它,我发现文件如下>

在此输入图像描述

然后我删除了除最后一行之外的所有行,保存了文件,然后我运行了命令conda update conda,它没有错误.

  • 这绝对有效.您还可以使用`conda config`来管理您的频道.例如,使用`conda config --get channels`列出你的频道并使用`conda config - 删除频道'X'来删除频道`X`. (5认同)
  • 感谢@Paul为什么不将其添加为答案以将其标记为已接受? (2认同)

Lio*_* Yu 6

希望我的回答可以使用Mac OS终端帮助其他人。我不小心将“ new_channel”添加到我的频道列表中,无法弄清楚如何删除它。我也找不到.condarc文件(也许有人会启发我),但是我可以使用终端来完成此操作。

在Conda中,有两种类型的“渠道”。一个是频道,一个是频道网址。如果您要删除频道网址,则无法使用以下方式将其删除:

conda config --remove channels
Run Code Online (Sandbox Code Playgroud)

最初,我键入conda info并看到以下内容:

频道网址:

         https://repo.anaconda.com/pkgs/pro/osx-64
         https://repo.anaconda.com/pkgs/pro/noarch
         https://conda.anaconda.org/new_channel/osx-64
         https://conda.anaconda.org/new_channel/noarch
Run Code Online (Sandbox Code Playgroud)

所以我在想,好吧,让我输入以下内容。

conda config --remove channels https://conda.anaconda.org/new_channel/osx-64
Run Code Online (Sandbox Code Playgroud)

这不起作用。

您需要输入以下内容:

conda config --show channels
Run Code Online (Sandbox Code Playgroud)

您会看到自己的频道:

渠道:

  • 默认值

  • new_channel

现在您知道您的频道叫什么了。它称为new_channel(可能看起来很明显,但有时对我们的初学者而言不是)。

所以您输入:

conda config --remove channels new_channel
Run Code Online (Sandbox Code Playgroud)

繁荣起来,所有new_channel URL都消失了。

在OP的情况下,他的频道很可能称为PyPdf2

因此,键入Terminal的正确代码是:

conda config --remove channels PyPdf2
Run Code Online (Sandbox Code Playgroud)

同样,请勿尝试删除频道网址。确保您已删除频道本身。