linux启动exe出来SQLite问题,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運行環境之間的匹配的問題。
總結
以上是生活随笔為你收集整理的linux启动exe出来SQLite问题,CentOS 7下sqlite3的问题修复的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux timer调用流程图,Lin
- 下一篇: 89c52单片机c语言延时程序计算 脉冲