Centos6下scrapy模块安装

在centos6上安装scrapy,折腾了一会...

当我尝试 pip install scrapy 的时候,发现Twisted包安装不了,报错信息:

Could not find the version ...

然后手动安装Twisted吧,

到官网下载Twisted包:Twisted-16.3.0.tar.bz2, 执行下面命令安装:

tar -xjvf Twisted-16.3.0.tar.bz2
cd Twisted-15.2.1
python setup.py install

然后还需要一些系统包依赖,然后还需要python包:cryptography ...

得到安装好了,居然说我python没有sqlite3模块?

  • 解决:我安装包: sudo yum install sqlite-devel

然后需要重新编译python, 好了编译好了,还是没有sqlite3模块,试了几次,什么原因呢?

  • 解决:原来是链接要旧的链接删除了,然后重新创建软链接

重新编译python后导致之前的pip, virtualenv不能使用,需要重新安装pip,virtualenv

  • 解决:python get-pip.py,下载get-pip.py文件安装

另外一个问题:跑起来的时候,文件写入mysql报编码错误:

  • 解决:在/etc/my.cnf配置文件设置:

    [client] 中添加 default-character-set=utf8

    [mysqld] 中添加 default-character-set=utf8 和 init_connect=SET NAMES 'utf8'

    首先这个mf.cnf文件最好是在目录 /usr/share/mysql里面4个配置文件(mysql-huge.cnf, mysql-medium.cnf, mysql-small.cnf, mysql-large.cnf)的例子拷贝过去

    若不拷贝到此目录下则重启Mysql后编码方式又回到默认方式

    最后就是重启,记得是重启,一般修改配置文件,mysqld服务就stop,你如果start之后是没有效果的,必须要start之后,来一个restart,(坑啊)

    service mysqld start
    service mysqld startcode>
    pre>

下面是依赖的系统包:

sudo yum install libxlst, libxml2, xslt-config, libffi, libffi-devel,  python-devel, openssl-develcode>
pre>

如果yum安装不了,可能就需要下载包,然后源码安装了:

./configure -> make -> make install

下面是依赖的python包:

pip install Twisted, cryptography

一般会自动安装依赖,不然就需要源码编译安装了:

解压 -> python setup.py build -> python setup.py install

参考: