如何在安装了pip的Anaconda中卸载软件包

时间:2018-01-19 08:38:34

标签: python pip anaconda

问题:

我安装了Anaconda:

conda -V
conda 4.4.7

我还使用python3 setup.py install为它安装了很多软件包。 我将它用于从setup.py文件创建的一些包。

现在我要卸载一个软件包。

我尝试了什么:

pip uninstall packageName
pip3 uninstall packageName
conda uninstall packageName

适用于python:检查pip listpip3 list,但没有这样的包。

错误:

但是对于conda我得到了这个:

conda uninstall packageName
Solving environment: failed

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

我们来看看:

conda list
packageName

P.S。我发现conda uninstallconda remove在这种情况下不起作用的信息。但那该怎么办?

P.S.S。实际上我在packageName更改了真实的包名,但如果这些信息很重要,我会添加它。

我的信息:

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

4 个答案:

答案 0 :(得分:4)

您可以使用Jupyter Notebook解决此问题:

  • 打开Jupyter笔记本
  • 用合适的内核打开一个新笔记本
  • 在代码单元格中输入public static class Extensions { public static IEnumerable<IEnumerable<T>> ChunkBy<T>(this IEnumerable<T> source, int chunkSize) { return source .Select((x, i) => new { Index = i, Value = x }) .GroupBy(x => x.Index / chunkSize) .Select(x => x.Select(v => v.Value)); } public static T[,] To2DArray<T>(this IEnumerable<IEnumerable<T>> source) { var data = source .Select(x => x.ToArray()) .ToArray(); var res = new T[data.Length, data.Max(x => x.Length)]; for (var i = 0; i < data.Length; ++i) { for (var j = 0; j < data[i].Length; ++j) { res[i,j] = data[i][j]; } } return res; } }
  • 运行单元格代码

答案 1 :(得分:1)

如果您使用setup.py安装了软件包,则很可能必须手动删除软件包文件。

您会发现Uninstalling setup.py install Wiki非常有用。 Unix指令引用如下:

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 --

答案 2 :(得分:1)

在conda环境中使用pip时必须小心,无论是安装还是卸载软件包。对我有用的基于https://stackoverflow.com/a/43729857/1047213

  1. 通过在conda环境中运行pip,安装特定于conda环境的conda install pip
  2. 在安装或卸载软件包时指定该特定pip的整个路径。通常,您可以在虚拟环境的bin文件夹(例如/anaconda/envs/venv_name/bin/)中找到它。因此,以下对我有用:/anaconda/envs/venv_name/bin/pip install_or_uninstall package_name

答案 3 :(得分:0)

绝对在 conda 环境中卸载所有 pypi 包的最佳方法是:

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