Footsteps on my way !
perl/linux/测序分析

Bio.MissingPythonDependencyError: Requires sqlite3

运行软件ARC(http://ibest.github.io/ARC/#ARCInstallation)时报错如下:

-bash-4.2$ ./ARC > log.txt
rm: 无法删除"/share/workdir/yangtt/software/ibest-ARC-3831cb8/bin/working_Sample1/I*_contigs.fasta": 没有那个文件或目录
Traceback (most recent call last):
 File "./ARC", line 85, in <module>
 main()
 File "./ARC", line 82, in main
 return app.start(loglevel, configfile=options.config)
 File "/share/workdir/yangtt/software/ibest-ARC-3831cb8/bin/../ARC/app.py", line 36, in start
 self.setup(values)
 File "/share/workdir/yangtt/software/ibest-ARC-3831cb8/bin/../ARC/app.py", line 117, in setup
 key_function=keyfunction(config['sra']))
 File "/share/soft/python-2.7.15/lib/python2.7/site-packages/Bio/SeqIO/__init__.py", line 978, in index_db
 key_function, repr)
 File "/share/soft/python-2.7.15/lib/python2.7/site-packages/Bio/File.py", line 518, in __init__
 raise MissingPythonDependencyError("Requires sqlite3, which is "
Bio.MissingPythonDependencyError: Requires sqlite3, which is included Python 2.5+

其实就是调用biopython时,biopython某个需要调用sqlite3的子模块找不到sqlite3导致的报错(上面的报错信息是ARC软件作者写的),遇到这个问题,你通过下述方法调用sqlite3,可能依然会出现类似错误(https://groups.google.com/forum/#!topic/arc-assembly/gUezzcgWUfU):

-bash-4.2$ python
Python 2.7.15 (default, May 18 2018, 21:16:28) 
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Bio
>>> Bio.__version__
'1.71'
>>> from Bio import SeqIO
>>> import sqlite3  #我这没报错是因为我已经解决了这个问题
>>>              
#否则可能出现类似如下错误:
>>> import sqlite3
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/usr/local/lib/python2.5/sqlite3/__init__.py", line 24, in <module>
 from dbapi2 import *
 File "/usr/local/lib/python2.5/sqlite3/dbapi2.py", line 27, in <module>
 from _sqlite3 import *
ImportError: No module named _sqlite3

问题的原因在于,在编译安装python前没有安装好sqlite库,导致编译安装python时没有对应的库文件。检查方法:

查看python安装目录下是否有_sqlite3.so动态库

[root@localhost site-packages]# find /share/soft/python-2.7.15/ -name _sqlite3.so #我运行发现没有

解决办法:

  1. 安装sqlite-devel库(我的系统是centos 7)
    yum install sqlite-devel
  2. 重新编译安装python2
    ./configure --prefix=/share/soft/python-2.7.15
    make
    make install

再次检查python安装目录下是否有_sqlite3.so动态库:

[root@localhost python-2.7.15]# find /share/soft/python-2.7.15/ -name _sqlite3.so
/share/soft/python-2.7.15/lib/python2.7/lib-dynload/_sqlite3.so

再次运行 ARC,发现所有问题解决!

另外,sqlite3库也可以自己下载安装:https://stackoverflow.com/questions/1210664/no-module-named-sqlite3

Download sqlite3:

wget http://www.sqlite.org/2016/sqlite-autoconf-3150000.tar.gz

Follow these steps to install:

$tar xvfz sqlite-autoconf-3071502.tar.gz
$cd sqlite-autoconf-3071502
$./configure --prefix=/usr/local
$make install

https://groups.google.com/forum/#!topic/arc-assembly/gUezzcgWUfU
https://stackoverflow.com/questions/1210664/no-module-named-sqlite3

尊重他人劳动成果,转载请注明出处:Bluesky's blog » Bio.MissingPythonDependencyError: Requires sqlite3

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址