阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7下SQLite3的问题修复

238次阅读
没有评论

共计 5787 个字符,预计需要花费 15 分钟才能阅读完成。

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 运行环境之间的匹配的问题。

更多 SQLite 相关教程见以下内容

如何在 Ubuntu 15.04 上安装带 JSON 支持的 SQLite 3.9.1  http://www.linuxidc.com/Linux/2016-02/128209.htm

SQLite3 简单操作 http://www.linuxidc.com/Linux/2016-01/127969.htm

SQLite3 中存储类型和数据类型结合文档解析  http://www.linuxidc.com/Linux/2015-08/121971.htm

SQLite3 安装、基本操作 http://www.linuxidc.com/Linux/2012-05/60452.htm

Ubuntu 12.04 下 SQLite 数据库简单应用 http://www.linuxidc.com/Linux/2012-06/63379.htm

Ubuntu 12.04 下安装 SQLite 及其使用方法 http://www.linuxidc.com/Linux/2013-08/89155.htm

SQLite 数据库入门基础教程 http://www.linuxidc.com/Linux/2014-06/103587.htm

SQLite 的详细介绍:请点这里
SQLite 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145464.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计5787字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中