anaconda3 | 使用中常见错误

该篇在conda的常见错误中,非常有参考价值,为防止将来该网页信息丢失,将其copy记录下来,其原文链接等如下:
作者:生信师姐
原文链接:https://www.jianshu.com/p/4c7b9127cf83
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1. conda安装环境报错:Solving environment: failed with initial frozen solve.

$conda install -c bioconda hypo
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.

方案1:
首先,把你安装的anaconda卸了重装,反正我是这么干的,强迫症患者,这样干净

更新conda到最新版本:conda update -n base conda
再查一下conda版本:conda -V
并不是最新版本conda 4.7.11
第二次更新conda到最新版本:conda update -n base conda
第二次很重要!!!而且,这次它读环境的时候贼慢,我以为我电脑卡死机了呢,半年不动弹,等着就行了
更新完后再查一下conda版本:conda -V,发现是最新版本conda 4.7.11
然后执行:conda update --all
然后,装啥啥好使,整啥啥好使,啥啥都好使,好使就完事了!!!!!!

方案2:

# 更新conda
conda update -n base conda
conda update -all

# 修改频道 
conda config --add channels conda-forge
conda config --set channel_priority flexible

# 重新尝试

2. conda安装库时报错Solving environment: failed with initial frozen solve. Retrying with flexible solve.

conda安装库时报错:

发现原因
后来查看错误信息的时候发现,原来是为了使用conda-forge的两条命令导致此错误。罪魁祸首是第二句。
conda config --add channels conda-forge conda config --set channel_priority strict

解决方法:

conda config --add channels conda-forge
conda config --set channel_priority flexible

评论:我在本次conda环境安装中踩得最大坑

3. conda install遇到Segmentation fault错误

出错原因:可能是之前安装的时候网络不好导致中途中断,这个包只下载了一部分,但是并不完整。因此需要把之前下载的压缩包删除,再进行安装。

解决方案1:通过conda clean进行清理。

conda clean -a 删除所有包all,缓存 -i,锁定文件,无用缓存-p,tar包-t
conda clean -i 删除缓存index cache
conda clean -p 删除未使用的缓存。
conda clean -t 删除缓存tar包
conda clean -f 删除所有可写的程序包缓存,此项不包含在-a命令中
conda clean -c 删除由于正在使用而无法删除的临时文件

conda clean -a
删除所有的缓存。

进入anaconda/pkgs 找到下载的不完整的压缩包,删除即可

解决方案2:在base环境中执行以下命令,清除缓存位置(…/anaconda3/pkgs/)中未下载完的文件。
在anaconda/pkgs 找到下载的不完整的压缩包,然后删除,再conda install这个包就没问题了

4. 使用conda命令安装时报错:CondaHTTPError

(1)方案1:亲测可用

$conda install anaconda-clean
Collecting package metadata (current_repodata.json): failed

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.ustc.edu.cn/anaconda/pkgs/free/linux-64/repodata.json>
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
'https://mirrors.ustc.edu.cn/anaconda/pkgs/free/linux-64'

channels问题,个人认为比较快的解决方式是运行以下命令:把镜像里面的,https改为http

conda config --remove-key channels   #删除所有的channels,没运行通

#添加清华镜像源
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda 
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ 
conda config --set show_channel_urls yes    # 搜索时显示通道地址


#或者中科大镜像
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/linux-64
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes 

这次再安装bioconda 和 conda-forge是镜像

conda install -c bioconda  module
conda install -c conda-forge module

(2)方案2
换源吧:
  阿里云 http://mirrors.aliyun.com/pypi/simple/
  中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  豆瓣(douban) http://pypi.douban.com/simple/
  清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
  中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
(3)方案3(亲测可用)
打开.condarc文件,更改为如下:

vim ~/.condarc
channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
show_channel_urls: true
ssl_verify: false

############私货#############
linux可执行文件添加到PATH环境变量的方法
https://www.cnblogs.com/joshua317/p/6899057.html

#vim里编辑文字:直接输入是没反应的。
#按一下a,就能输入了
#编辑完了之后按esc 然后按冒号 输入wq 回车

(4)方案4

#首先先添加清华的镜像源 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 
conda config --set show_channel_urls yes 

#如果无法解决,则删除channels配置文件中部分内容
 #具体操作如下: 

#1、快速创建channels配置文件的备份(保险起见) 
cp ~/.condarc{,.bak} 

#查看配置文件的内容 
cat ~/.condarc.bak 
channels: 
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ 
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ 
- https://nanomirrors.tuna.tsinghua.edu.cn/anaconda/cloud 
- defaults 
- https://nanomirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda 
- https://nanomirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/conda 
- bioconda 
- r 
- conda-forge 
show_channel_urls: true 
#2、删除部分内容
 ## 主要是删除此行:
 - defaults 

#修改后配置文件的内容如下: 
vim ~/.condarc 
channels: 
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ 
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ 
show_channel_urls: true 

5. 使用conda命令安装时报错:('Connection broken: OSError("(104, 'ECONNRESET')")', OSError("(104, 'ECONNRESET')"))

$conda install -c bioconda kmc
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/liuliu/software/anaconda3

  added / updated specs:
    - kmc


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    conda-4.8.3                |           py37_0         2.8 MB
    kmc-3.1.2rc1               |       h2d02072_0        13.1 MB  bioconda
    ------------------------------------------------------------
                                           Total:        15.9 MB

The following NEW packages will be INSTALLED:

  kmc                bioconda/linux-64::kmc-3.1.2rc1-h2d02072_0

The following packages will be UPDATED:

  conda                                        4.8.2-py37_0 --> 4.8.3-py37_0


Proceed ([y]/n)? y   


Downloading and Extracting Packages
conda-4.8.3          | 2.8 MB    | ################################################################################################################################################################ | 100% 
kmc-3.1.2rc1         | 13.1 MB   | ##################################################9                                                                                                              |  32% 

('Connection broken: OSError("(104, \'ECONNRESET\')")', OSError("(104, 'ECONNRESET')"))

发生场景:在Ubuntu,使用Anaconda安装一些包。
这种问题大概就是下载国外的包什么的网速太慢了,下载失败。

解决办法:
用国内的镜像算了。这里我用的清华大学的一个镜像开源下的:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
在终端直接复制粘贴:

conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

再使用conda install安装你想装的包吧

6. CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'

首次使用 source activate 命令激活虚拟环境

source activate R3.6
# 退出虚拟环境
conda deactivate

否则会报下面的错

7. PackagesNotFoundError: The following packages are not available from current channels


解决办法:将conda-forge添加到搜索路径上

首先,当出现这种报错时,应该首先尝试使用以下命令将conda-forge channel添加到你的channel列表中:
conda config --append channels conda-forge
它告诉conda在搜索软件包时也要在conda-forge channel上查看。

然后你就可以尝试利用如下命令再次安装
conda install 包名
原因在于:channel可以看成是托管python包的服务器,当无法通过标准channel获得python包时,社区驱动的conda-forge通常是一个很好的地点。大部分问题都可以利用这条语句解决。

8. Collecting package metadata (current_repodata.json): failed

Collecting package metadata (current_repodata.json): failed

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/linux-64/current_repodata.json>
Elapsed: -

An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.

If your current network has https://www.anaconda.com blocked, please file
a support request with your network engineering team.

'https//repo.anaconda.com/pkgs/main/linux-64'

解决办法:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
https://www.csdn.net/gather_2b/MtTakgysMjczODEtYmxvZwO0O0OO0O0O.html

9 conda安装软件报兼容性问题的解决 Found conflicts! Looking for incompatible packages.failed.UnsatisfiableError

尝试对conda更新以解决兼容性问题

conda update --all
conda update conda

还是不行,报错如下

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: \ 
Found conflicts! Looking for incompatible packages.                                    failed                                                                                     

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

  - feature:/linux-64::__glibc==2.31=0
  - feature:|@/linux-64::__glibc==2.31=0
  - **A程序** -> libgcc-ng[version='>=9.3.0'] -> __glibc[version='>=2.17']

Your installed version is: 2.31

添加国内镜像

conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/
conda config --add channels http://mirrors.aliyun.com/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

再进行安装,成功。

10. conda 尝试解决冲突但失败了。

为什么都已经创建新的环境了,conda 安装软件还是报错.

conda create -n merqury.1.3  
conda activate merqury.1.3   

conda install -c bioconda merqury
Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: -
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.                                                                                                                                   failed

UnsatisfiableError:

这个错误可能是由一个或多个包之间的版本冲突导致的,conda尝试解决冲突但失败了。以下是一些可能的解决方案:

(1)使用mamba代替conda:Mamba是一个由conda社区开发的,与conda兼容的包管理器。它在处理包依赖关系及冲突问题时,通常会比conda更有优势。

执行以下命令安装mamba:

conda install mamba -n base -c conda-forge

使用mamba安装Merqury:
mamba install -c bioconda merqury
(2)更新conda:有时候,这个问题可能是由于conda版本过旧引起的。你可以执行 conda update conda 来尝试更新conda。

(3)指定包版本:你可以尝试以特定版本安装包。例如,如果你想安装merqury的1.3版,你可以使用

conda install -c bioconda merqury=1.3

不过在尝试这些解决方案之前,请记住在尝试安装任何包之前先激活你的环境。此外,你可能也需要确保你的Bioconda频道设置正确。你可以通过运行 conda config --show channels 来查看你目前的频道设置。如果你没有看到bioconda,你可以使用 conda config --add channels bioconda 来添加。

posted @ 2024-03-19 22:25  corrschi  阅读(2785)  评论(0编辑  收藏  举报