Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I remove a URL channel from Anaconda?

Recently I needed to install PyPdf2 to one of my programs using Anaconda. Unfortunately, I failed, but the URLs that was added to Anaconda environment prohibit the updates of all the Conda libraries. Every time I tried to update anaconda it gives the following

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

I typed the command conda info to see what causes the error, I found lots of URLs that points to PyPdf2!

Simply, I want to remove all these URLS from anaconda's channel URLs, How can I do it? No matter manually or automatic.

Note: I have uninstalled Anaconda, and reinstall, but no luck!

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
like image 291
Mohammad ElNesr Avatar asked Sep 18 '16 13:09

Mohammad ElNesr


People also ask

How do I delete channels on anaconda?

You can also use conda config to manage your channels. For instance, use conda config --get channels to list your channels and use conda config --remove channels 'X' to remove channel X .

How do I change conda channels?

You can change the channel priority as follows: conda config --get This will list all the channels from lowest to highest priority. add channels by using conda config --add channels ---(your channel) The last channel you add gets highest priority.. so maintain the order.

How do I delete .condarc files?

Go to the C:\Users\User_name and search for the file . condarc . delete it from this location. and then restart the anaconda navigator.


3 Answers

Expanding upon Mohammed's answer.

All those URLs that you see in your conda info are your channel URLs. These are where conda will look for packages. As noted by @cel, these channels can be found in the .condarc file in your home directory.

You can interact with the channels, and other data, in your .condarc file with the conda config command. For example, let's say your .condarc file lists the following channels:

channels:   - https://github.com/mstamy2/PyPDF2/     - defaults 

Then if we do conda config --get channels we will see returned:

--add channels 'defaults'   # lowest priority --add channels 'https://github.com/mstamy2/PyPDF2/'   # highest priority 

If we then want to remove the github channel we would do conda config --remove channels 'https://github.com/mstamy2/PyPDF2/'. You can also add channels through the --add command so, for example, we could add back that channel with conda config --add channels 'https://github.com/mstamy2/PyPDF2/'.

In this case, since there were several channels to remove, it was probably faster to simply edit the .condarc directly but it's useful to know how to do it through conda config.

like image 165
Paul Avatar answered Oct 07 '22 22:10

Paul


Fortunately, I found the answer (Thanks to @cel as well).

I navigated to C:\Users\{MyUserName}\ Then I found a file with no name but has a strange extension (.condarc) I opened it with Notepad++, I found the files as below>

enter image description here

Then I deleted all lines except the last one, saved the file, then I ran the command conda update conda, and it works without errors.

like image 39
Mohammad ElNesr Avatar answered Oct 07 '22 21:10

Mohammad ElNesr


Hopefully my answer helps someone else out there using Mac OS terminal. I accidentally added "new_channel" to my channels list and could not figure out how to remove it. I also could not find the .condarc file (maybe someone will enlighten me please) but I was able to use the terminal to complete this.

There's two types of "channels" in Conda. One is the channels and one is the channel URLs. If you're trying to delete the the channel URL, you cannot delete it using:

conda config --remove channels

Originally I typed conda info and saw the following:

channel URLs :

         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

So I was thinking, ok, let me just type in the following.

conda config --remove channels https://conda.anaconda.org/new_channel/osx-64

THIS DOES NOT WORK.

What you have to do is type in the following:

conda config --show channels

You will see your channels:

channels:

  • defaults

  • new_channel

Now you know what your channel is called. It's called new_channel (may seem obvious, but sometimes not to us beginners).

So you type in:

conda config --remove channels new_channel

And boom, all the new_channel URLs are gone.

In OP's case, his channel was most likely called PyPdf2

So the correct code to type into Terminal is:

conda config --remove channels PyPdf2

AGAIN, DON'T TRY TO DELETE THE CHANNEL URL. MAKE SURE YOU DELETE THE CHANNEL ITSELF.

like image 45
Lionel Yu Avatar answered Oct 07 '22 21:10

Lionel Yu