conda create出现连接问题_处理conda安装工具的动态库缺失问题
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安装工具的动态库缺失问题相关推荐
- conda create出现连接问题_[转] conda安装torch出现链接错误
使用清华镜像,具体方法如下: 问题:conda无法安装更新,报错内容如下: 参考链接:conda httperror http none none for url none Anaconda更新失败 ...
- conda create出现连接问题_在dockerfile中运行conda更新时出现问题
我正在尝试使用一些conda环境创建一个docker容器.当我在交互模式下运行容器时 conda update --all conda env create -f env.yml 运行没有问题.但是, ...
- 如何用conda安装软件|处理conda安装工具的动态库问题
conda的确是一个非常好的工具,对于初学者而言,安装软件就跟用XXX软件管理器一样方便.正因为他如此便利,以至于我介绍如何手动安装工具时,总有人问我为啥不用conda. 我用conda,并且用的很好 ...
- conda内部python卸载了_使用conda安装软件包如何更改我的python版本并删除conda?...
原因 在不更新conda软件包的情况下更改Python版本会破坏Conda..Python版本更改(2.7.14-> 3.6.8)造成了这样一种情况,即新版本python具有site-packa ...
- automake生成静态库文件_动手 | 奶奶级的动态库入门
程序编译过程 库文件 静态链接和动态链接的区别? 从0开始 - 创建和使用静态链接库 创建静态库项目 向静态库中添加文件 编译静态库 创建引用静态库的C++控制台应用 在应用中使用静态库功能 从0开始 ...
- 查看so库中是否有某个定义_论Linux ELF中动态库符号重定义利用 属性/Linker 做隐藏的手法...
假如libgetthree.so libgetseven.so , 同时这两个so内部都用了internal_do_calculation()函数,并且各自定义了自己的internal_do_calc ...
- cmake导入so库_通过CMake方式生成动态库so文件
JNITest 通过CMake方式生成动态库so文件 简介 Java JNI的本意是Java Native Interface(Java本地接口),它是为了方便Java调用C.C++等本地代码所封装的 ...
- 微擎支付返回商户单号_微信、支付宝支付动态库PayApiFun.dll说明
微信.支付宝支付动态库PayApiFun.dll说明 PayApiFun.dll这个动态库中包含了:微信付款码支付.生成微信支付二维码扫码支付.按商户单号查询微信支付状态.关闭未支付的微信订单.支付宝 ...
- 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版 ...
最新文章
- Android开发环境简单配置
- websocket 获取连接id_nodejs做后端,用websocket写聊天室,怎么获取连接用户的ip呢?...
- linux内存和flash区别,嵌入式Linux概念NOR/NAND Flash的差别
- 【零基础学Java】—final关键字与四种用法(二十九)
- UITapGestureRecognizer 的用法
- 光彩集团小宇智能机器人_“智能急救教学机器人”走进文惠小学集团总部文韬校区...
- 微软打碎了周鸿祎的如意算盘
- 数理在线计算机,原码/反码/补码在线计算器
- GPT+UEFI双硬盘双系统安装
- 暑假计算机教育培训总结,暑假计算机培训心得体会
- 华光昱能光知识-细说MPO光纤跳线那些事
- centos mysql 大小写_linux 、centos 安装MySQL及踩坑大小写敏感
- 科研小白如何做好科研(内附一些科研实用工具)
- 【亚马逊】AWS re:Invent 2022 创新不平衡
- 手写一个微前端框架(内含源码地址)
- 苏州新导RFID化工厂人员定位系统中的应用,化工厂人员定位你get到了吗?
- 一个完整和详细的网站SEO优化解决方案
- 安卓平板升级“果冻豆”:更便利更流畅
- Java之Java特点
- 求1到100之间的奇数之和、偶数之积