Linux上安装scrapy

/ 技术 / 无站内评论 / 1126浏览

前言

今天踩了一天的坑,安装过程出现各种疑难杂症,包括python环境和依赖出现的各种问题,可以说搞了整整一天,后面问题多到心态差点崩了,还是坚持下来了。现在浏览器几十个标签页,遇到的好多问题资料页。。。太累了,都不打算写博客了。遇到的问题太多了~

系统:Centos7.4 python3.5 


系统是自带python的,默认2.7版本,也就是自带的版本,导致后面出现很多问题。包括scrapy版本依赖的是python3.5版本,要重新装。然后会跟自带的2.7冲突产生各种问题!

避免踩坑,建议你们直接安装pyhton3.5,以后的所有依赖都使用python3.5的pip3去安装。

刚开始使用pip出现超多问题,而且那些问题网上都能查到,但是!几乎没有解决的答案,还是靠自己摸索解决的。


升级Python

https://blog.csdn.net/liang19890820/article/details/51079633

按照上面的地址升级到Python3.5

如果后面安装出现问题,请回到上面的教程,认真仔细看有没有漏掉的步骤。

安装完输入python,以下即成功。


安装Scrapy


在安装scrapy之前首先得确保你已经安装了python 以及pip

1,安装scrapy

pip3 install scrapy

如果报错:Could not find a version that satisfies the requirement Twisted>=13.1.0 (from Scrapy) (from versions: )

No matching distribution found for Twisted>=13.1.0 (from Scrapy)

原因是没有安装Twisted

2,安装Twisted。

wget https://pypi.python.org/packages/source/T/Twisted/Twisted-15.2.1.tar.bz2 --no-check-certificate
tar -xjvf Twisted-15.2.1.tar.bz2
cd Twisted-15.2.1
python setup.py install

如果安装出现问题,参考这个https://blog.csdn.net/jaket5219999/article/details/70146917


安装scrapy请务必保证安装成功!控制台刷很快,有些依赖安装错误直接刷掉了,导致一直安装错误。Twisted是最容易失败的。

输入Scrapy,出现以下既成功。




安装模块错误

问题1

如果升级pip3/pip安装依赖时出现问题,以后教程应该能解决。这个问题困扰了几个小时。

出现情况大概是:使用pip3/pip安装模块的时候,一直失败。提示pip Traceback (most recent call last): File "/usr/bin/pip等

https://www.cnblogs.com/Trees/p/7497268.html


常规问题解决:File "/usr/bin/yum", line 30 及 File "/usr/libexec/urlgrabber-ext-down", line 28

在执行yum命令时忽然发现出现以下报错:

# yum list
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
                       ^
SyntaxError: invalid syntax

原因:

这是因为yum采用Python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。而CentOS 7自带的yum采用的是python2.7,当系统将python升级到3.4后,出现语法解释错误。

解决办法:

一是升级yum。

二是修改yum的解释器为旧版本python2.7,即将连接文件/usr/bin/python连接回/usr/bin/python2.7。治标不治本,不推荐。

三是在设置里更改解释器设置,即修改/usr/bin/yum文件,指定使用python2.7作为yum的解释器:

# vi /usr/bin/yum

将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2"即可。

 

安装软件时又会出现另一种报错

Downloading packages:
  File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:
                  ^
SyntaxError: invalid syntax

问题与前面一个一样,因此解决办法也是一样的:

# vi /usr/libexec/urlgrabber-ext-down

将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2"即可。


问题2

【centos】 error: command 'gcc' failed with exit status 1

用安装python模块出现error: command 'gcc' failed with exit status 1 ,明明装了gcc的,怎么会不行呢,然后发觉是failed不是not found,这说明这个错误个gcc没多大关系,应该是缺少某些功能模块,然后谷歌了一下,先后安装了python-devel,libffi-devel后还是不行,最后发觉要安装openssl-devel才行

可如下命令行安装:

yum install gcc libffi-devel python-devel openssl-devel

问题3

 执行Scrapy提示缺失sqlite3;这个问题二解决后,直接安装应该不会失败。

https://blog.csdn.net/laoyang360/article/details/75094004

https://blog.csdn.net/nuli888/article/details/51973738

https://blog.csdn.net/sparkexpert/article/details/79118448


python命令行下输入:import sqlite3。 
没有任何错误输出,代表安装成功。

总结

以上只是挑了几个重点的写,还有很多类似的错误没写 一天下来也忘了很多,很多错误都是类似的,自己可以尝试自己去解决,实在不行可以留言。

解决资料整理:

https://www.cnblogs.com/fh-fendou/p/7808166.html

https://blog.csdn.net/fenglifeng1987/article/details/38057193

https://blog.csdn.net/liang19890820/article/details/51079633

https://blog.csdn.net/jaket5219999/article/details/70146917

https://blog.csdn.net/laoyang360/article/details/75094004

https://www.cnblogs.com/Trees/p/7497268.html

https://blog.csdn.net/nuli888/article/details/51973738

https://blog.csdn.net/sparkexpert/article/details/79118448

召唤蕾姆
琼ICP备18000156号

鄂公网安备 42011502000211号