Mikhail_Sam
Mikhail_Sam

Reputation: 11238

How to uninstall package in Anaconda installed with pip

The problem:

I have installed Anaconda:

conda -V
conda 4.4.7

Also I installed a lot of packages for it using python3 setup.py install. I used it for some packages created from setup.py files.

Now I want to uninstall one package.

What I tried:

pip uninstall packageName
pip3 uninstall packageName
conda uninstall packageName

It works for python: check pip list and pip3 list and there isn't such package.

Error:

But for conda I got this:

conda uninstall packageName
Solving environment: failed

PackagesNotFoundError: The following packages are missing from the target environment:
  - packageName

Let's check:

conda list
packageName

P.S. I found info that conda uninstall and conda remove doesn't work in this case. But what to do then?

P.S.S. Actually I changed real package name at packageName but if this information is important I will add it.


My info:

conda info

     active environment : None
       user config file : /home/masamok4/.condarc
 populated config files : /home/masamok4/anaconda3/.condarc
                          /home/masamok4/.condarc
          conda version : 4.4.7
    conda-build version : 3.0.27
         python version : 3.6.3.final.0
       base environment : /home/masamok4/anaconda3  (writable)
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.continuum.io/pkgs/main/linux-64
                          https://repo.continuum.io/pkgs/main/noarch
                          https://repo.continuum.io/pkgs/free/linux-64
                          https://repo.continuum.io/pkgs/free/noarch
                          https://repo.continuum.io/pkgs/r/linux-64
                          https://repo.continuum.io/pkgs/r/noarch
                          https://repo.continuum.io/pkgs/pro/linux-64
                          https://repo.continuum.io/pkgs/pro/noarch
          package cache : /home/masamok4/anaconda3/pkgs
                          /home/masamok4/.conda/pkgs
       envs directories : /home/masamok4/anaconda3/envs
                          /home/masamok4/.conda/envs
               platform : linux-64
             user-agent : conda/4.4.7 requests/2.18.4 CPython/3.6.3 Linux/4.4.0-87-generic ubuntu/16.04 glibc/2.23
                UID:GID : 1003:1003
             netrc file : None
           offline mode : False

Upvotes: 33

Views: 86952

Answers (4)

Luis Chaves Rodriguez
Luis Chaves Rodriguez

Reputation: 553

Definitely the best way to uninstall all pypi packages in a conda environment is:

conda activate <your-env>
conda list | awk '/pypi/ {print $1}' | xargs pip uninstall -y

Upvotes: 14

Hari
Hari

Reputation: 1815

One has to be careful when using pip inside a conda environment, whether for installing and unistalling packages. What works for me is based on https://stackoverflow.com/a/43729857/1047213.

  1. Install pip that is specific to the conda environment by running conda install pip inside the conda environment.
  2. Specify the entire path of that specific pip while installing or uninstalling a package. Usually, you will find it inside the bin folder of the virtual environment (e.g., /anaconda/envs/venv_name/bin/). Thus, the following works for me: /anaconda/envs/venv_name/bin/pip install_or_uninstall package_name.

Upvotes: 2

Lo&#239;c
Lo&#239;c

Reputation: 147

You can use Jupyter Notebook to solve this problem :

  • open Jupyter Notebook
  • open a new notebook with the right kernel
  • type !pip uninstall -y [package] in a code cell
  • run the cell code

Upvotes: 13

Abhinav Sood
Abhinav Sood

Reputation: 789

If you installed the package using setup.py, then you will most likely have to delete the package files manually.

You'd find the Uninstalling setup.py install wiki useful. Unix instructions quoted below:

sudo python setup.py install --record files.txt
# inspect files.txt to make sure it looks ok. Then in bash:
tr '\n' '\0' < files.txt | xargs -0 sudo rm -f --

Upvotes: 1

Related Questions