本文主要給大家介紹的關于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 sqlite3Loaded plugins: fastestmirrorLoading mirror speeds from cached hostfile=============================================================================== N/S matched: sqlite3 ================================================================================libsqlite3x.x86_64 : A C++ Wrapper for the SQLite3 embeddable SQL database enginelibsqlite3x-devel.x86_64 : Development files for libsqlite3xpreludedb-sqlite3.x86_64 : Plugin to use prelude with a SQLite3 databaserubygem-sqlite3.x86_64 : Allows Ruby scripts to interface with a SQLite3 databaserubygem-sqlite3-doc.noarch : Documentation for rubygem-sqlite3soci-sqlite3.x86_64 : SQLite3 back-end for socisoci-sqlite3-devel.x86_64 : SQLite3 back-end for sociuwsgi-plugin-sqlite3.x86_64 : uWSGI - SQLite3 plugindspam-sqlite3.x86_64 : SQLite v3.x storage driver for libdspamgolang-googlecode-sqlite-devel.i686 : Trivial sqlite3 binding for Gogolang-googlecode-sqlite-devel.x86_64 : Trivial sqlite3 binding for Golibsq3.x86_64 : A C++ Wrapper for the SQLite3 embeddable SQL database enginelibsq3-devel.x86_64 : Development files for libsqlite3xopendbx-sqlite.x86_64 : SQLite 3 backend - provides sqlite3 support in opendbxpython-sqlite3dbm.noarch : SQLite-backed dictionary conforming to the dbm interfacesqlite-devel.i686 : Development tools for the sqlite3 embeddable SQL database enginesqlite-devel.x86_64 : Development tools for the sqlite3 embeddable SQL database enginesqlite-tcl.x86_64 : Tcl module for the sqlite3 embeddable SQL database enginesqlite3-dbf.x86_64 : Converter of XBase / FoxPro tables to SQLitezabbix20-proxy-sqlite3.x86_64 : Zabbix proxy compiled to use SQLitezabbix22-dbfiles-sqlite3.noarch : Zabbix database schemas and patcheszabbix22-proxy-sqlite3.x86_64 : Zabbix proxy compiled to use SQLite
找到了sqlite3-devel,那就安裝好了
yum install sqlite-devel
yum install sqlite-develLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfileResolving Dependencies--> Running transaction check---> Package sqlite-devel.x86_64 0:3.7.17-8.el7 will be installed--> Finished Dependency ResolutionDependencies Resolved===================================================================================================================================================================================== Package Arch Version Repository Size=====================================================================================================================================================================================Installing: sqlite-devel x86_64 3.7.17-8.el7 base 104 kTransaction Summary=====================================================================================================================================================================================Install 1 PackageTotal download size: 104 kInstalled size: 366 kIs this ok [y/d/N]: yDownloading packages:sqlite-devel-3.7.17-8.el7.x86_64.rpm | 104 kB 00:00:00 Running transaction checkRunning transaction testTransaction test succeededRunning 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運行環境之間的匹配的問題。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答
圖片精選