After Anaconda installation, conda command fails with "ImportError: no module named conda.cli"

101,527

Solution 1

When you were installing it, you missed a section. When conda asked you if it can set your .bashrc file, you probably clicked NO. It's a simple fix: fire up your interpreter and add this line:

export PATH=/home/add your username here/anaconda/bin:$PATH

Now type python into the interpreter and you will see Anaconda 1.8.0 or whatever version you have. You will have to do this each time you start a new interpreter.

Enjoy!

Solution 2

Note

If the accepted answer doesn't work, then this answer might help.

The Cause

According to the official thread on GitHub, this problem happens when there is a change in the python version. In my case, the original anaconda installation is anaconda 3 with python3.6. And I installed a new package which updated python topython3.7 along with some other packages. And this corrupts the anaconda base environment.

The solution

The solution that works for me is pretty simple... reinstall anaconda. I don't know if this is the optimal solution, but this what works for me.

  • First we need to delete the old installation:
    rm -rf ~/anaconda3
    rm -rf ~/.condarc ~/.conda ~/.continuum
    
  • Then, reinstall Anaconda.

  • Finally, update all packages (including conda itself) using:

    conda update --all
    

Now, your anaconda is up-to-date.

Solution 3

If anaconda was installed by the root user, a permissions issue could produce the ImportError: No module named 'conda.cli' error.

Something like this

sudo chown -R [username] [anaconda_dir]

would help in that case.

Alternatively, the conda install could be cloned to another location, such as the user's home directory:

conda create -n [my_conda_root] --clone=[current_conda_dir]

But for this to work, you will need at least the read and traverse permissions.

Solution 4

I ran into this problem while downgrading python in a Miniconda3 env. in my Dockerimage. With the Miniconda3-4.5.11-Linux-x86_64.sh installer the initial base python version is 3.7.0; I wanted to downgrade to 3.6.9 and got the "ImportError: no module named conda.cli" error (all in the same layer to reduce the image's size).

I fix this by using the Miniconda3-4.5.4-Linux-x86_64.sh installer instead (which will give you python==3.6.5) and called

conda install -y python==3.6.9

Solution 5

I fixed it by reinstalling anaconda but keeping the envs folder.

So, I moved the old anaconda3 folder to anaconda3.old, I reinstalled anaconda3 at the same location and copied the content of the anaconda3.old/envs folder to anaconda3/envs. Then it worked.

Share:
101,527
Admin
Author by

Admin

Updated on March 31, 2021

Comments

  • Admin
    Admin about 3 years

    I installed 64 bit Linux version of Anaconda recently (1.8.0-Linux-x86_64). The installation seemed to work fine:

    $ python 
    Python 2.7.5 |Continuum Analytics, Inc.| (default, Nov  4 2013, 15:30:26)
    [GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import numpy
    >>>
    ##No issues here 
    

    However if I try any of the conda commands, I get an error:

    $ conda info
    Traceback (most recent call last):
      File "~/anaconda/bin/conda", line 3, in <module>
        from conda.cli import main
    ImportError: No module named conda.cli
    

    Installation is under my user directory (~/anaconda). I have verified that $PATH contains ~/anaconda/bin. $PYTHONPATH is also set to ~/anaconda/lib.

    Any thoughts on what is wrong with the 'conda' command? My searches do not appear to show any one else reporting this error.

  • CodeGuyRoss
    CodeGuyRoss almost 9 years
    for me it was : export PATH=/Users/add your username here/anaconda/bin:$PATH, but basically same thing
  • Ryan Collins
    Ryan Collins over 7 years
    This resolved my issue. Thank you! I am going to link this to the multiple github issues so that it's easier to find.
  • Homero Esmeraldo
    Homero Esmeraldo about 5 years
    This doesn't solve my problem, I already have export PATH="/home/<myusername>/miniconda3/bin:$PATH" in my .bashrc and it doesn't work. Neither if I go to the folder itself.
  • merv
    merv about 5 years
    This is now recommended against. See Conda v4.4 Release Notes.
  • Ankur Shah
    Ankur Shah over 4 years
    Well, that's scary !
  • user5359531
    user5359531 about 3 years
    alternatively, I have started including python=3.6.5 to my conda install recipes, or whatever the base python version is for the conda I am using. Same result.
  • Michele
    Michele about 3 years
    You're removing everything! I can't afford that. I found that copying the envs folder in a new conda installation (see here) fixes the problem.