conda的确是一个非常好的工具,对于初学者而言,安装软件就跟用apt/yum软件管理器一样方便。但软件安装后有时会出现的动态库缺失的问题。

以安装软件lefse(https://bioconda.github.io/recipes/lefse/README.html)为例:

首先我设置/添加频道(这个添加顺序是错误的,所以导致后续报错,正确方法见解决方法2):

[root@localhost soft_backup]# conda config --add channels defaults

Warning: 'defaults' already in 'channels' list, moving to the top

[root@localhost soft_backup]# conda config --add channels conda-forge

[root@localhost soft_backup]# conda config --add channels defaults

Warning: 'defaults' already in 'channels' list, moving to the top

[root@localhost soft_backup]# conda config --add channels bioconda

[root@localhost miniconda2]# more ~/.condarc #频道顺序

channels:

- bioconda

- defaults

- conda-forge

[root@localhost soft_backup]#conda create -n lefse lefse

Solving environment: done

## Package Plan ##

environment location: /share/soft/miniconda2

added / updated specs:

– lefse

The following packages will be downloaded:

package                        |  build

—————————–    |—————–

expat-2.2.5                     | he0dffb1_0 186 KB

pyqi-0.3.2                        | py27_0 57 KB              bioconda

ncurses-5.9                     | 10 904 KB                     #说明使用的是默认频道中的ncurses

r-modeltools-0.2_21     | r3.4.1_0 171 KB

singledispatch-3.4.0.3 | py27h9bcb476_0 15 KB

……

click-6.7                          | py27h4225b90_0 103 KB

————————————————————

Total: 408.5 MB

The following NEW packages will be INSTALLED:

backports:           1.0-py27h63c9359_1

backports_abc:  0.5-py27h7b3c97b_0

biom-format:       2.1.6-py27_0 bioconda

blas:                       1.0-mkl

pyparsing:            2.2.0-py27hf1513f8_1

pyqi:                       0.3.2-py27_0          bioconda

pyqt:                       5.6.0-py27h4b1e83c_5

python-dateutil:  2.7.3-py27_0

pytz:                        2018.4-py27_0

qt:                            5.6.2-h974d657_12

r-base:                    3.4.1-3                   conda-forge

r-codetools:          0.2_15-r3.4.1_0

……

xz:                            5.2.4-h14c3975_4

The following packages will be UPDATED:

libedit:      3.1-heed3624_0         –>   3.1.20170329-0 conda-forge

readline:  7.0-ha6073c6_4         –>    7.0-hb321a52_4

The following packages will be DOWNGRADED:

ncurses:    6.0-h9df7e31_2           –>   5.9-10

python:    2.7.14-h1571d57_29    –>   2.7.14-ha6fc286_23

Proceed ([y]/n)? y

Downloading and Extracting Packages

expat-2.2.5                     | 186 KB | ################################# | 100%

graphite2-1.3.11            | 129 KB | ################################# | 100%

readline-7.0                    | 388 KB | ################################# | 100%

future-0.16.0                   | 641 KB | ################################# | 100%

lefse-1.0.8.post1            | 95 KB | ################################## | 100%

pyparsing-2.2.0             | 93 KB | ################################## | 100%

intel-openmp-2018.0. | 705 KB | #################################  | 100%

r-base-3.4.1                   | 23.0 MB | #################################| 100%

xz-5.2.4                            | 366 KB | #################################  | 100%

subprocess32-3.5.1     | 40 KB | ##################################  | 100%

backports_abc-0.5    | 12 KB | ##################################   | 100%

libtiff-4.0.9                     | 566 KB | ################################## | 100%

……

click-6.7                         | 103 KB | ################################## | 100%

Preparing transaction: done

Verifying transaction: done

Executing transaction: done

安装完后出现报错:

(lefse) [root@localhost envs]# run_lefse.py

Traceback (most recent call last):

File "/share/soft/miniconda2/envs/lefse/bin/run_lefse.py", line 4, in

from lefse import *

File "/share/soft/miniconda2/envs/lefse/share/lefse-1.0.8.post1-0/lefse.py", line 3, in

import rpy2.robjects as robjects

File "/share/soft/miniconda2/envs/lefse/lib/python2.7/site-packages/rpy2/robjects/__init__.py", line 16, in

import rpy2.rinterface as rinterface

File "/share/soft/miniconda2/envs/lefse/lib/python2.7/site-packages/rpy2/rinterface/__init__.py", line 92, in

from rpy2.rinterface._rinterface import (baseenv,

ImportError: libiconv.so.2: cannot open shared object file: No such file or directory

#通过一顿百度谷歌,发现上述libiconv.so.2报错是其中运行R时动态库的缺失问题,而rpy2.robjects报错是因为rpy2需要调用R

(lefse) [root@localhost envs]# R

/share/soft/miniconda2/envs/lefse/lib/R/bin/exec/R: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

#差这个库,那我就安装

[root@localhost lib]# conda install -n lefse libiconv

安装完成后又报错:

ImportError: libicuuc.so.54: cannot open shared object file: No such file or directory

#通过/share/soft/miniconda2/envs/lefse/lib中高版本的库链接成对应的低版本解决:ln -s libicuuc.so.58.2 libicuuc.so.54 ,老错误解决,又报新错:

ImportError: libtinfow.so.6: cannot open shared object file: No such file or directory

#通过libtinfow.so.6缺失,一顿百度谷歌,发现只有ncurses包没安装时会抱这个错,而我明明安装了,当我爬贴爬到:https://github.com/samtools/samtools/issues/790 时 发现有人回答通过 conda install -c conda-forge ncurses可以解决。所以:

解决方法一:安装对应频道的ncurses, 虽然前面遇到的问题解决,但在使用过程中还是会报错,所以方法一失效,推荐方法二!

conda install -n lefse -c conda-forge ncurses

解决方法二:

所以究其原因,应该是频道顺序错误导致安装的包不一致。我又仔细看了一下lefse的安装说明,发现lefse安装说明明确说明需要激活bioconda频道,而激活bioconda的正确顺序如下:

[root@localhost miniconda2]# conda config --add channels defaults

Warning: 'defaults' already in 'channels' list, moving to the top

[root@localhost miniconda2]# conda config --add channels conda-forge

Warning: 'conda-forge' already in 'channels' list, moving to the top

[root@localhost miniconda2]# conda config --add channels bioconda

Warning: 'bioconda' already in 'channels' list, moving to the top

[root@localhost miniconda2]# more ~/.condarc

channels:

- bioconda #第一优先级

- conda-forge #第二优先级

- defaults #第三优先级

按上述顺序调整频道的顺序后,正常安装lefse,问题解决:

conda create -n lefse lefse

最后如果你不喜欢用包辅助安装,这里附一下普通自定义安装lefse的链接:http://blog.sciencenet.cn/blog-306699-997026.html

参考:

https://www.jianshu.com/p/f8a0692df264

https://github.com/samtools/samtools/issues/790

conda create出现连接问题_处理conda安装工具的动态库缺失问题相关推荐

  1. conda create出现连接问题_[转] conda安装torch出现链接错误

    使用清华镜像,具体方法如下: 问题:conda无法安装更新,报错内容如下: 参考链接:conda httperror http none none for url none Anaconda更新失败 ...

  2. conda create出现连接问题_在dockerfile中运行conda更新时出现问题

    我正在尝试使用一些conda环境创建一个docker容器.当我在交互模式下运行容器时 conda update --all conda env create -f env.yml 运行没有问题.但是, ...

  3. 如何用conda安装软件|处理conda安装工具的动态库问题

    conda的确是一个非常好的工具,对于初学者而言,安装软件就跟用XXX软件管理器一样方便.正因为他如此便利,以至于我介绍如何手动安装工具时,总有人问我为啥不用conda. 我用conda,并且用的很好 ...

  4. conda内部python卸载了_使用conda安装软件包如何更改我的python版本并删除co​​nda?...

    原因 在不更新conda软件包的情况下更改Python版本会破坏Conda..Python版本更改(2.7.14-> 3.6.8)造成了这样一种情况,即新版本python具有site-packa ...

  5. automake生成静态库文件_动手 | 奶奶级的动态库入门

    程序编译过程 库文件 静态链接和动态链接的区别? 从0开始 - 创建和使用静态链接库 创建静态库项目 向静态库中添加文件 编译静态库 创建引用静态库的C++控制台应用 在应用中使用静态库功能 从0开始 ...

  6. 查看so库中是否有某个定义_论Linux ELF中动态库符号重定义利用 属性/Linker 做隐藏的手法...

    假如libgetthree.so libgetseven.so , 同时这两个so内部都用了internal_do_calculation()函数,并且各自定义了自己的internal_do_calc ...

  7. cmake导入so库_通过CMake方式生成动态库so文件

    JNITest 通过CMake方式生成动态库so文件 简介 Java JNI的本意是Java Native Interface(Java本地接口),它是为了方便Java调用C.C++等本地代码所封装的 ...

  8. 微擎支付返回商户单号_微信、支付宝支付动态库PayApiFun.dll说明

    微信.支付宝支付动态库PayApiFun.dll说明 PayApiFun.dll这个动态库中包含了:微信付款码支付.生成微信支付二维码扫码支付.按商户单号查询微信支付状态.关闭未支付的微信订单.支付宝 ...

  9. win10+1050显卡+cuda9.0+cudnn7.6.5+pytorch1.1.0+py3.7(conda)安装+jupyter运行+pycharm运行(conda环境)

    win10+1050显卡+cuda9.0+cudnn7.5+pytorch1.1.0安装 参考网址 安装cuda9.0 检查GPU显卡支持的cuda版本 linux下查看cuda版本 windows版 ...

最新文章

  1. Android开发环境简单配置
  2. websocket 获取连接id_nodejs做后端,用websocket写聊天室,怎么获取连接用户的ip呢?...
  3. linux内存和flash区别,嵌入式Linux概念NOR/NAND Flash的差别
  4. 【零基础学Java】—final关键字与四种用法(二十九)
  5. UITapGestureRecognizer 的用法
  6. 光彩集团小宇智能机器人_“智能急救教学机器人”走进文惠小学集团总部文韬校区...
  7. 微软打碎了周鸿祎的如意算盘
  8. 数理在线计算机,原码/反码/补码在线计算器
  9. GPT+UEFI双硬盘双系统安装
  10. 暑假计算机教育培训总结,暑假计算机培训心得体会
  11. 华光昱能光知识-细说MPO光纤跳线那些事
  12. centos mysql 大小写_linux 、centos 安装MySQL及踩坑大小写敏感
  13. 科研小白如何做好科研(内附一些科研实用工具)
  14. 【亚马逊】AWS re:Invent 2022 创新不平衡
  15. 手写一个微前端框架(内含源码地址)
  16. 苏州新导RFID化工厂人员定位系统中的应用,化工厂人员定位你get到了吗?
  17. 一个完整和详细的网站SEO优化解决方案
  18. 安卓平板升级“果冻豆”:更便利更流畅
  19. Java之Java特点
  20. 求1到100之间的奇数之和、偶数之积

热门文章

  1. python 技术大杂烩
  2. Java中表格背景设置透明
  3. 友元函数,友元类,类模板
  4. URI RUL和URN的区别(看不懂?)
  5. Python调用电脑麦克风录音
  6. 数字化转型实例:国家电网
  7. 【CNC——第12篇】用Turbo PMAC驱动一个松下交流伺服电机以及I变量知识
  8. 涉案金额600万!微粒贷诈骗团伙被警方一锅端
  9. mapStateToProps mapDispatchToProps 的使用
  10. 10+编程语言实现云笔记