scrapy 运行时报错 No module named _sqlite3

新服务器上运行scrapy时报错

exceptions.ImportError: No module named _sqlite3

原因

由于新的环境缺少sqlite的依赖,编译python3是虽然不报错。运行scrapy时会出现问题

解决办法

安装依赖

yum install sqlite-devel 

或者 

yum install sqlite*

进入python的安装位置
cd pythton3.8

重新编译

./configure
make && make install

执行上面依然报错,就执行下面操作

IMPORTERROR: DYNAMIC MODULE DOES NOT DEFINE MODULE EXPORT FUNCTION (PYINIT__SQLITE3)

使用python3.6 中的django-admin创建项目的时候报错

ImportError: dynamic module does not define module export function (PyInit__sqlite3)

python3以上版本安装sqlite3的解决方案

wget https://www.sqlite.org/2017/sqlite-autoconf-3170000.tar.gz --no-check-certificate

tar xf  sqlite-autoconf-3170000.tar.gz

cd sqlite-autoconf-3170000/

./configure --prefix=/usr/local/sqlite3 --disable-static --enable-fts5 --enable-json1 CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_RTREE=1"

make && make install

重新编译python3.6

cd Python-3.6.0a1
LD_RUN_PATH=/usr/local/sqlite3/lib ./configure LDFLAGS="-L/usr/local/sqlite3/lib" CPPFLAGS="-I /usr/local/sqlite3/include"
LD_RUN_PATH=/usr/local/sqlite3/lib make
LD_RUN_PATH=/usr/local/sqlite3/lib sudo make install

进入python3.6的交互环境

import sqlite3没报错说明问题解决

原文地址:https://www.cnblogs.com/jasonLiu2018/p/11955554.html