这篇文章主要为大家展示了“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)in () ----> 1 import nltk /opt/python36env/lib/python3.6/site-packages/nltk/__init__.py in () 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 () 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 () 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 () 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 () 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 () 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 () 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 () 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运行环境之间的匹配的问题。
以上是“CentOS 7中sqlite3找不到怎么办”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!