关于CentOS 7下sqlite3找不到的问题解决

本文主要给大家介绍的关于CentOS 7下sqlite3找不到问题的解决方法,分享出来供大家参考学习,下面来一起看看详细的介绍:

Centos7下的nltk启动问题

CentOS 7, Python 3.6,ipython 6.0.0

问题描述

ipython

启动ipython命令

import nltk

爆出以下的错误信息:

  In [1]: import nltk  ---------------------------------------------------------------------------  ModuleNotFoundError      Traceback (most recent call last)  <ipython-input-1-b06499430ee0> in <module>()  ----> 1 import nltk    /opt/python36env/lib/python3.6/site-packages/nltk/__init__.py in <module>()   135 from nltk.translate import *   136 from nltk.sem import *  --> 137 from nltk.stem import *   138    139 # Packages which can be lazily imported    /opt/python36env/lib/python3.6/site-packages/nltk/stem/__init__.py in <module>()    27 from nltk.stem.isri import ISRIStemmer    28 from nltk.stem.porter import PorterStemmer  ---> 29 from nltk.stem.snowball import SnowballStemmer    30 from nltk.stem.wordnet import WordNetLemmatizer    31 from nltk.stem.rslp import RSLPStemmer    /opt/python36env/lib/python3.6/site-packages/nltk/stem/snowball.py in <module>()    24     25 from nltk import compat  ---> 26 from nltk.corpus import stopwords    27 from nltk.stem import porter    28 from nltk.stem.util import suffix_replace    /opt/python36env/lib/python3.6/site-packages/nltk/corpus/__init__.py in <module>()    64 from nltk.tokenize import RegexpTokenizer    65 from nltk.corpus.util import LazyCorpusLoader  ---> 66 from nltk.corpus.reader import *    67     68 abc = LazyCorpusLoader(    /opt/python36env/lib/python3.6/site-packages/nltk/corpus/reader/__init__.py in <module>()   103 from nltk.corpus.reader.categorized_sents import *   104 from nltk.corpus.reader.comparative_sents import *  --> 105 from nltk.corpus.reader.panlex_lite import *   106    107 # Make sure that nltk.corpus.reader.bracket_parse gives the module, not    /opt/python36env/lib/python3.6/site-packages/nltk/corpus/reader/panlex_lite.py in <module>()    13     14 import os  ---> 15 import sqlite3    16     17 from nltk.corpus.reader.api import CorpusReader    /usr/local/lib/python3.6/sqlite3/__init__.py in <module>()    21 # 3. This notice may not be removed or altered from any source distribution.    22   ---> 23 from sqlite3.dbapi2 import *    /usr/local/lib/python3.6/sqlite3/dbapi2.py in <module>()    25 import collections.abc    26   ---> 27 from _sqlite3 import *    28     29 paramstyle = "qmark"    ModuleNotFoundError: No module named '_sqlite3'

从错误信息来分析,可以发现,就是sqlite3找不到而已。

问题分析与解决

那就尝试看看sqlite3是否已经安装:

yum search sqlite3

  yum search sqlite3  Loaded plugins: fastestmirror  Loading mirror speeds from cached hostfile  =============================================================================== N/S matched: sqlite3 ================================================================================  libsqlite3x.x86_64 : A C++ Wrapper for the SQLite3 embeddable SQL database engine  libsqlite3x-devel.x86_64 : Development files for libsqlite3x  preludedb-sqlite3.x86_64 : Plugin to use prelude with a SQLite3 database  rubygem-sqlite3.x86_64 : Allows Ruby scripts to interface with a SQLite3 database  rubygem-sqlite3-doc.noarch : Documentation for rubygem-sqlite3  soci-sqlite3.x86_64 : SQLite3 back-end for soci  soci-sqlite3-devel.x86_64 : SQLite3 back-end for soci  uwsgi-plugin-sqlite3.x86_64 : uWSGI - SQLite3 plugin  dspam-sqlite3.x86_64 : SQLite v3.x storage driver for libdspam  golang-googlecode-sqlite-devel.i686 : Trivial sqlite3 binding for Go  golang-googlecode-sqlite-devel.x86_64 : Trivial sqlite3 binding for Go  libsq3.x86_64 : A C++ Wrapper for the SQLite3 embeddable SQL database engine  libsq3-devel.x86_64 : Development files for libsqlite3x  opendbx-sqlite.x86_64 : SQLite 3 backend - provides sqlite3 support in opendbx  python-sqlite3dbm.noarch : SQLite-backed dictionary conforming to the dbm interface  sqlite-devel.i686 : Development tools for the sqlite3 embeddable SQL database engine  sqlite-devel.x86_64 : Development tools for the sqlite3 embeddable SQL database engine  sqlite-tcl.x86_64 : Tcl module for the sqlite3 embeddable SQL database engine  sqlite3-dbf.x86_64 : Converter of XBase / FoxPro tables to SQLite  zabbix20-proxy-sqlite3.x86_64 : Zabbix proxy compiled to use SQLite  zabbix22-dbfiles-sqlite3.noarch : Zabbix database schemas and patches  zabbix22-proxy-sqlite3.x86_64 : Zabbix proxy compiled to use SQLite

找到了sqlite3-devel,那就安装好了

yum install sqlite-devel

  yum install sqlite-devel  Loaded plugins: fastestmirror  Loading mirror speeds from cached hostfile  Resolving Dependencies  --> Running transaction check  ---> Package sqlite-devel.x86_64 0:3.7.17-8.el7 will be installed  --> Finished Dependency Resolution    Dependencies Resolved    =====================================================================================================================================================================================   Package          Arch          Version          Repository        Size  =====================================================================================================================================================================================  Installing:   sqlite-devel         x86_64         3.7.17-8.el7         base         104 k    Transaction Summary  =====================================================================================================================================================================================  Install 1 Package    Total download size: 104 k  Installed size: 366 k  Is this ok [y/d/N]: y  Downloading packages:  sqlite-devel-3.7.17-8.el7.x86_64.rpm                               | 104 kB 00:00:00    Running transaction check  Running transaction test  Transaction test succeeded  Running transaction   Installing : sqlite-devel-3.7.17-8.el7.x86_64                                 1/1    Verifying : sqlite-devel-3.7.17-8.el7.x86_64                                 1/1     Installed:   sqlite-devel.x86_64 0:3.7.17-8.el7                                         Complete!

问题没有解决

重新启动ipython

import nltk

但是问题依然存在,哪里出的问题呢?

问题最终解决

虽然安装了sqlite3的数据库,但是对于ipython的环境来说,确实无法找到sqlite3。

于是,我重新编译,并且安装了一下python3。

注意: 这个是在sqlite3安装成功之后,在安装python的运行环境。

于是重新启动ipython,问题消逝,一切正常,本质上就是sqlite3的安装,以及sqlite3与python运行环境之间的匹配的问题。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

参与评论