[英]How to fix Perl from anaconda not installing bioperl? `Bailing out the installation for BioPerl-1.007002.`
我正在使用 conda 安装几个软件包。 我已经在 conda 下安装了 Perl 并且是在这台机器上工作的那个(运行 Ubuntu 18.04)。 现在我正在尝试使用需要 bioperl 的脚本。
我尝试更新 conda,通过 conda 安装 bioperl 并通过 cpanm 安装 bioperl,如下所示。
我查了一下,目前使用的 Perl 是 anaconda 之一。 perl 脚本中的 shebang 是#!/home/evo-slave/anaconda_ete/bin/perl -w
这是运行脚本时的初始错误
Can't locate Bio/SeqIO.pm in @INC (you may need to install the
Bio::SeqIO module) (@INC contains: /home/evo-
slave/anaconda_ete/lib/site_perl/5.26.2/x86_64-linux-thread-multi
/home/evo-slave/anaconda_ete/lib/site_perl/5.26.2 /home/evo-
slave/anaconda_ete/lib/5.26.2/x86_64-linux-thread-multi /home/evo-
slave/anaconda_ete/lib/5.26.2 .) at ./cortador.pl line 9.
BEGIN failed--compilation aborted at ./cortador.pl line 9.
我不知道这是否是 anaconda perl 或在脚本执行期间没有调用/安装 bioperl 的问题,也许脚本中的这一行应该指示其他内容
use File::Basename;
use Bio::SeqIO;
use Bio::Seq;
use Bio::DB::SeqFeature::Store;
use Bio::SeqFeatureI;
当我尝试安装
cpanm Bio::Perl
我收到了这个错误
--> Working on Bio::Perl
Fetching http://www.cpan.org/authors/id/C/CJ/CJFIELDS/BioPerl-
1.007002.tar.gz ... OK
Configuring BioPerl-1.007002 ... OK
==> Found dependencies: IO::String, Data::Stag, Test::Most
--> Working on IO::String
Fetching http://www.cpan.org/authors/id/G/GA/GAAS/IO-String-
1.08.tar.gz ... OK
Configuring IO-String-1.08 ... OK
Building and testing IO-String-1.08 ... OK
Successfully installed IO-String-1.08
--> Working on Data::Stag
Fetching http://www.cpan.org/authors/id/C/CM/CMUNGALL/Data-Stag-
0.14.tar.gz ... OK
Configuring Data-Stag-0.14 ... OK
==> Found dependencies: IO::String
! Installing the dependencies failed: Module 'IO::String' is not
installed
! Bailing out the installation for Data-Stag-0.14.
--> Working on Test::Most
Fetching http://www.cpan.org/authors/id/O/OV/OVID/Test-Most-
0.35.tar.gz ... OK
Configuring Test-Most-0.35 ... OK
==> Found dependencies: Test::Warn, Test::Deep, Test::Differences,
Test::Exception, Exception::Class
--> Working on Test::Warn
Fetching http://www.cpan.org/authors/id/B/BI/BIGJ/Test-Warn-
0.36.tar.gz ... OK
Configuring Test-Warn-0.36 ... OK
==> Found dependencies: Sub::Uplevel
--> Working on Sub::Uplevel
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-
0.2800.tar.gz ... OK
Configuring Sub-Uplevel-0.2800 ... OK
Building and testing Sub-Uplevel-0.2800 ... OK
Successfully installed Sub-Uplevel-0.2800
! Installing the dependencies failed: Module 'Sub::Uplevel' is not
installed
! Bailing out the installation for Test-Warn-0.36.
--> Working on Test::Deep
Fetching http://www.cpan.org/authors/id/R/RJ/RJBS/Test-Deep-
1.128.tar.gz ... OK
Configuring Test-Deep-1.128 ... OK
Building and testing Test-Deep-1.128 ... OK
Successfully installed Test-Deep-1.128
--> Working on Test::Differences
Fetching http://www.cpan.org/authors/id/D/DC/DCANTRELL/Test-
Differences-0.67.tar.gz ... OK
Configuring Test-Differences-0.67 ... OK
==> Found dependencies: Capture::Tiny, Text::Diff
--> Working on Capture::Tiny
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Capture-
Tiny-0.48.tar.gz ... OK
Configuring Capture-Tiny-0.48 ... OK
Building and testing Capture-Tiny-0.48 ... OK
Successfully installed Capture-Tiny-0.48
--> Working on Text::Diff
Fetching http://www.cpan.org/authors/id/N/NE/NEILB/Text-Diff-
1.45.tar.gz ... OK
Configuring Text-Diff-1.45 ... OK
==> Found dependencies: Algorithm::Diff
--> Working on Algorithm::Diff
Fetching http://www.cpan.org/authors/id/T/TY/TYEMQ/Algorithm-Diff-
1.1903.tar.gz ... OK
Configuring Algorithm-Diff-1.1903 ... OK
Building and testing Algorithm-Diff-1.1903 ... OK
Successfully installed Algorithm-Diff-1.1903
! Installing the dependencies failed: Module 'Algorithm::Diff' is
not installed
! Bailing out the installation for Text-Diff-1.45.
! Installing the dependencies failed: Module 'Text::Diff' is not
installed, Module 'Capture::Tiny' is not installed
! Bailing out the installation for Test-Differences-0.67.
--> Working on Test::Exception
Fetching http://www.cpan.org/authors/id/E/EX/EXODIST/Test-
Exception-0.43.tar.gz ... OK
Configuring Test-Exception-0.43 ... OK
==> Found dependencies: Sub::Uplevel
! Installing the dependencies failed: Module 'Sub::Uplevel' is not
installed
! Bailing out the installation for Test-Exception-0.43.
--> Working on Exception::Class
Fetching http://www.cpan.org/authors/id/D/DR/DROLSKY/Exception-
Class-1.44.tar.gz ... OK
Configuring Exception-Class-1.44 ... OK
==> Found dependencies: Class::Data::Inheritable
--> Working on Class::Data::Inheritable
Fetching http://www.cpan.org/authors/id/T/TM/TMTM/Class-Data-
Inheritable-0.08.tar.gz ... OK
Configuring Class-Data-Inheritable-0.08 ... OK
Building and testing Class-Data-Inheritable-0.08 ... OK
Successfully installed Class-Data-Inheritable-0.08
! Installing the dependencies failed: Module
'Class::Data::Inheritable' is not installed
! Bailing out the installation for Exception-Class-1.44.
! Installing the dependencies failed: Module 'Test::Exception' is
not installed, Module 'Test::Differences' is not installed, Module
'Exception::Class' is not installed, Module 'Test::Warn' is not
installed, Module 'Test::Deep' is not installed
! Bailing out the installation for Test-Most-0.35.
! Installing the dependencies failed: Module 'Test::Most' is not
installed, Module 'IO::String' is not installed, Module
'Data::Stag'
is not installed
! Bailing out the installation for BioPerl-1.007002.
6 distributions installed
ETA :似乎出了点问题,并且在简单的 cpanm 期间未安装所需模块的依赖项 尝试安装所需所有内容的一轮示例
cpanm Sub::Uplevel
--> Working on Sub::Uplevel
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz ... OK
Configuring Sub-Uplevel-0.2800 ... OK
Building and testing Sub-Uplevel-0.2800 ... OK
Successfully installed Sub-Uplevel-0.2800
1 distribution installed
然后
cpanm Test::Warn
--> Working on Test::Warn
Fetching http://www.cpan.org/authors/id/B/BI/BIGJ/Test-Warn-0.36.tar.gz ... OK
Configuring Test-Warn-0.36 ... OK
==> Found dependencies: Sub::Uplevel
--> Working on Sub::Uplevel
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz ... OK
Configuring Sub-Uplevel-0.2800 ... OK
Building and testing Sub-Uplevel-0.2800 ... OK
Successfully installed Sub-Uplevel-0.2800
! Installing the dependencies failed: Module 'Sub::Uplevel' is not installed
! Bailing out the installation for Test-Warn-0.36.
1 distribution installed
一些有助于调试的信息:
$ set | grep ^PERL
PERL5LIB=:/media/evo-slave/Disco2/ANDRES/DOWNLOADS/GENOME/CAV-POC/GAAS/annotation
PERL_MB_OPT='--install_base "/home/evo-slave/perl5"'
PERL_MM_OPT=INSTALL_BASE=/home/evo-slave/perl5
$ which cpanm
/home/evo-slave/anaconda_ete/bin/cpanm
$ head -n 1 "$( which cpanm )"
#!/home/evo-slave/anaconda_ete/bin/perl
我将其发布为答案不是因为它是一个好主意,而是因为它提供了更多信息。 我正在研究 Amazon Linux,所以它略有不同,但也遇到了通过 conda 安装的 bioperl 依赖项的问题。 就我而言,我正在尝试运行VirSorter ,它提到了这个问题并提出了一个对我不起作用的解决方案,但建议确认您的PERL5LIB
设置正确。
我观察到我的 perl 是 5.26.2:
$ perl --version
This is perl 5, version 26, subversion 2 (v5.26.2) built for x86_64-linux-thread-multi
但是 conda 出于某种晦涩的原因安装了我的 perl 依赖项 5.22.0: /home/ec2-user/anaconda3/envs/virsorter/lib/perl5/site_perl/5.22.0/
:
$ ls /home/ec2-user/anaconda3/envs/virsorter/lib/perl5/site_perl/5.22.0/
Algorithm Bio Capture Class Data Devel Exception IO Sub Test Text URI URI.pm x86_64-linux-thread-multi
我发现通过简单地将PERL5LIB
设置为 conda 下的 5.22.0 库,我可以让 VirSorter 运行,显然是成功的:
OLD_PER5LIB=$PERL5LIB
export PERL5LIB=/home/ec2-user/anaconda3/envs/virsorter/lib/perl5/site_perl/5.22.0/
# run virsorter
# no errors!
我相信这会给 perl 人带来一堆危险信号,而且我敢肯定,如果它真的有效的话,它会非常脆弱。 也许问题是为什么 conda 将 perl 模块安装为错误的 perl 版本?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.