PIP和Scrapy安装|地狱难度安装版本!!!

目前系统版本
cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
python版本 Python 2.7.5

pip安装

https://bootstrap.pypa.io/get-pip.py
下载下来会得到一个get-pip.py
然后执行python get-pip.py 会自动下载安装pip

安装Scrapy

pip install Scrapy
结果出现

Command “/usr/bin/python -u -c “import setuptools, tokenize;file=’/tmp/pip-build-Qe8ky7/Twisted/setup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(‘\r\n’, ‘\n’);f.close();exec(compile(code, file, ‘exec’))” install –record /tmp/pip-FX_eyV-record/install-record.txt –single-version-externally-managed –compile” failed with error code 1 in /tmp/pip-build-Qe8ky7/Twisted/

目测没安装setuptools
在官网https://pypi.python.org/pypi/setuptools
下载.whl文件
然后通过pip wheel 该文件 安装setuptools

而后安装Scrapy 结果报错

Exception:
Traceback (most recent call last):
File “/usr/lib/python2.7/site-packages/pip/basecommand.py”, line 215, in main
status = self.run(options, args)
File “/usr/lib/python2.7/site-packages/pip/commands/install.py”, line 335, in run
wb.build(autobuilding=True)
File “/usr/lib/python2.7/site-packages/pip/wheel.py”, line 749, in build
self.requirement_set.prepare_files(self.finder)
File “/usr/lib/python2.7/site-packages/pip/req/req_set.py”, line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File “/usr/lib/python2.7/site-packages/pip/req/req_set.py”, line 634, in _prepare_file
abstract_dist.prep_for_dist()
File “/usr/lib/python2.7/site-packages/pip/req/req_set.py”, line 129, in prep_for_dist
self.req_to_install.run_egg_info()
File “/usr/lib/python2.7/site-packages/pip/req/req_install.py”, line 412, in run_egg_info
self.setup_py, self.name,
File “/usr/lib/python2.7/site-packages/pip/req/req_install.py”, line 387, in setup_py
import setuptools # noqa
File “/usr/lib/python2.7/site-packages/setuptools/init.py”, line 12, in
import setuptools.version
File “/usr/lib/python2.7/site-packages/setuptools/version.py”, line 1, in
import pkg_resources
File “/usr/lib/python2.7/site-packages/pkg_resources/init.py”, line 72, in
import packaging.requirements
File “/usr/lib/python2.7/site-packages/packaging/requirements.py”, line 59, in
MARKER_EXPR = originalTextFor(MARKER_EXPR())(“marker”)
TypeError: call() takes exactly 2 arguments (1 given)

然后就大胆
vi /usr/lib/python2.7/site-packages/packaging/requirements.py
修改该文件
#MARKER_EXPR = originalTextFor(MARKER_EXPR())(“marker”)
MARKER_EXPR = originalTextFor(MARKER_EXPR)(“marker”)

然后继续pip install Scrapy 然而
报错Failed building wheel for Twisted
而且没什么卵用我就改回去了

然后//就装了这玩意儿 我也不知道这是干啥的
yum install python-devel libffi-devel openssl-devel

氮素 pip install Scrapy 没报错~~
然而在执行scrapy -h 的时候
提示pkg_resources.ContextualVersionConflict: (pyasn1 0.1.6 (/usr/lib/python2.7/site-packages), Requirement.parse(‘pyasn1>=0.1.8’), set([‘pyasn1-modules’]))

然后就升级pyasn1吧
结果直接执行命令easy_install pyasn1 没什么卵用,安装的还是版本还是0.1.6

这里修正!!!

上面这样升级pyasn1 只是在执行scrapy -h的时候没毛病
但是再用scrapy 创建项目的时候 会报错!!!
正确的做法应该是pip install –upgrade pyasn1来升级

就去https://pypi.python.org/pypi/pyasn1/ 下载
然后easy_install pyasn1xxx.egg

然后执行scrapy -h 还是报错
这里有一大推错误 暂时不表
TLSVersion.TLSv1_1: SSL.OP_NO_TLSv1_1,
AttributeError: ‘module’ object has no attribute ‘OP_NO_TLSv1_1’

不让人活啊有木有

结果发现在执行pip install Scrapy的时候 会有这么一句
Requirement already satisfied: Twisted>=13.1.0 in /usr/lib64/python2.7/site-packages (from Scrapy)

就尝试安装一个13.1.0的Twisted的版本
pip install twisted==13.1.0

然后执行scrapy -h 终于成功。

总结

这次的安装经历告我们……千万不要被中间的绝望所吓倒….坚持一下,你就会发现,错误会越改越多……但是不要怕…..当你迭代到错误最多的时候在一个一个解决掉, 就OK啦……虽然说中间会走弯路, 虽然说中间无数次我想离开城市找一个小树林隐居起来, 从此与世隔绝, 氮素坚持一下~ 就一定会搞定的(PS: 还好运气好安装好了…..到底中间装的那个不知名的东西到底是什么呢?~~强强晚安晚安强强)

你可能感兴趣的:(scrapy-爬虫)