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

CentOS 7下sqlite3的问题修复的更多相关文章

  1. CentOS服务器下对mysql的优化

    原文链接: CentOS服务器下对mysql的优化 一.mysql的优化思路 mysql的优化分为两方面: 1. 服务器使用前的优化 2. 服务使用中的优化 二.mysql的基础优化步骤 1. 硬件级 ...

  2. CentOS系统下Redis安装和自启动配置的步骤

    相信大家都知道Redis是一个C实现的基于内存.可持久化的键值对数据库,在分布式服务中常作为缓存服务.所以这篇文章将详细介绍在CentOS系统下如何从零开始安装到配置启动服务.有需要的可以参考借鉴. ...

  3. CentOS 7下升级MySQL5.7.23的一个坑

    发现CentOS 7下升级MySQL5.7.23的一个坑,以前面升级到MySQL 5.7.23的一个集群为例 在我们环境下打开文件描述符个数的参数open_files_limit在MySQL 5.6. ...

  4. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  5. (转)CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup

    CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup 原文:http://qizhanming.com/blog/2017/05/10/install-percona- ...

  6. VSCode cpptools 插件在Centos 7下不能正确显示符号列表的解决办法

    vscode 的插件cpptools 0.9.3 需要glibc 2.18的版本,但是Centos 7 下没有这个版本的GLIBC,所以导致链接库丢失,后台服务不能正常运行.按以下步骤操作可修复此问题 ...

  7. CentOS 6或7 启动故障修复及root密码破解

    CentOS 6或7 启动故障修复及root密码破解 目录 CentOS 6或7 启动故障修复及root密码破解 CentOS 6启动流程修复: 实验一:删除initramfs-2.6.32-754. ...

  8. CentOS 7 下,如何设置DNS服务器

    在CentOS 7下,手工设置 /etc/resolv.conf 里的DNS,过了一会,发现被系统重新覆盖或者清除了.和CentOS 6下的设置DNS方法不同,有几种方式: 1.使用全新的命令行工具 ...

  9. CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)

    在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...

随机推荐

  1. ArcGIS COM Exception 0x80040228

    问题:  string shpDir = Path.GetDirectoryName(shpfile);             string shpfilename = Path.GetFileNa ...

  2. NIO服务端和客户端通信demo

    代码转自 https://www.jianshu.com/p/a9d030fec081 服务端: package nio; import java.io.IOException; import jav ...

  3. Java Web专题

  4. HIVE大数据出现倾斜怎么办

      hive在跑数据时经常会出现数据倾斜的情况,使的作业经常reduce完成在99%后一直卡住,最后的1%花了几个小时都没跑完,通过YARN的管理界面配合日志,可以清楚其中的具体原因,这种情况就很可能 ...

  5. Python3:数字类型和字符串类型的相互转换

    Python3:数字类型和字符串类型的相互转换 一.python中字符串转换成数字 方法1: 类中进行导入:import string str='555'num=string.atoi(str)num ...

  6. MyBatis源码解读之延迟加载

    1. 目的 本文主要解读MyBatis 延迟加载实现原理 2. 延迟加载如何使用 Setting 参数配置 设置参数 描述 有效值 默认值 lazyLoadingEnabled 延迟加载的全局开关.当 ...

  7. MATLAB安装libsvm工具箱的方法

    支持向量机(support vector machine,SVM)是机器学习中一种流行的学习算法,在分类与回归分析中发挥着重要作用.基于SVM算法开发的工具箱有很多种,下面我们要安装的是十分受欢迎的l ...

  8. Spring 是什么

  9. import和import static的区别

    import static静态导入是JDK1.5中的新特性. 一般我们导入一个类都用 import 包名.类名; 而静态导入是这样:import static 包名.类名.*; 这里的多了个stati ...

  10. Linux 利用管道父子进程间传递数据

    [原文] fork()函数:用于创建子进程,子进程完全复制父进程的资源,相当于父进程的拷贝.具体理解,运用父进程的同一套代码,通过判断进程ID来执行不同进程的不同任务. 返回值正常为子进程ID,出错返 ...