本文属于转载笔记,详细请跳转至requirement Twisted>=13.1.0,Python3以上版本安装sqlite3的解决方案谢谢!
redhat/centos6.7 系统 安装scrapy时,提示缺少 twisted。然后用pip install twisted也提示找不到合适版本。
最终下载twisted源码安装,再pip install scrapy。问题就解决了。注意:也可以在虚拟环境下执行,那么就只存在虚拟环境中。
wget https://twistedmatrix.com/Releases/Twisted/17.1/Twisted-17.1.0.tar.bz2
tar -jxvf Twisted-17.1.0.tar.bz2
cd Twisted-17.1.0
python setup.py install
cd ..
pip install scrapy
其实这两个问题都是因为python3以上版本不太支持sqlite3,下面的方法是亲测没问题,来自(sparkexpert大神)
(1)安装sqlite3的包
$ wget https://www.sqlite.org/2017/sqlite-autoconf-3170000.tar.gz --no-check-certificate
$ tar zxvf 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"
(2)对python3进行重新编译
$ 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