问题:
我安装了Anaconda:
conda -V
conda 4.4.7
我还使用python3 setup.py install
为它安装了很多软件包。
我将它用于从setup.py
文件创建的一些包。
现在我要卸载一个软件包。
我尝试了什么:
pip uninstall packageName
pip3 uninstall packageName
conda uninstall packageName
适用于python:检查pip list
和pip3 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 uninstall
和conda 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
答案 0 :(得分:4)
您可以使用Jupyter Notebook解决此问题:
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。
pip
,安装特定于conda环境的conda install pip
。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