写在前面

因为之前的爬虫环境一直是部署在我自己本地的电脑上的,最近,写了一个监控别人空间的爬虫,需要一直线上24小时运行,所有就打算云服务器上部署环境,也捣鼓了好一会才弄好,还是有一些坑,这里先记录一下,方便以后复习...

一.替换pyhton2版本为python3

1.我这里的云服务器是Centos7系统,默认安装的是python2.7的版本,但是,我个人也是不喜欢老的东西,而且好像python2的版本到2020年就不再维护了,所以,我这里也推荐大家使用python3的版本



2.下载安装

wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz

我下载的是python3.5的

接下来,就是编译安装,在编译安装前需要构建编译环境,安装gcc

yum -y install gcc

gcc安装的东西有点多,稍微等一下

然后,默认编译就好

接着,使用make & make install 安装,

这里的话 ,会多等一会儿 ,去喝杯茶先把,,哈哈 开玩笑的啦

3.安装完成之后,我们输入python,这个时候任然是python2版本,需要重新定义软连接,重新建立指向

mv /usr/bin/python /usr/bin/python27
ln -s /usr/local/bin/python3 /usr/bin/python

结果,发现python命令无效



如果还是不行的话,可以重新编译一下:

这个时候,我们的yum命令就是无法使用了,因为默认的yum是只支持python2版本,我们可以简单设置一下就可以啦,如下:

修改yum配置文件(vi /usr/bin/yum)。
把文件头部的#!/usr/bin/python改成#!/usr/bin/python27保存退出即可



这样就可以再次使用yum命令了

二.安装python包管理工具pip

在第一步,我们安装好了pyhton3的环境,接下来,我们就基于python3版本来安装相应的pip工具

1.pip默认是依赖于setuptools的

下载安装setuptools

wget --no-check-certificate  https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26

解压,安装,

python setup.py install

发现缺少模块

  1. 安装zlib模块
yum install zlib-devel -y

打开报错文件,



再次运行yum install zlib-devel -y

继续安装setuptools,这个时候我们需要python3对zlib模块的支持,所以,需要重新编译安装

1.    进入pyhton3文件目录
2. make & make install #编译安装

这样,就可以回到setuptools目录,进行安装

python setup.py install



安装成功

终于可以安装pip了

1.下载啊

[root@liuge ~]# wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz

2、解压pip安装包

tar -zxf pip-9.0.1.tar.gz

3、安装pip

cd pip-9.0.1
python setup.py install

三.安装Scrapy爬虫环境

这里我们就可以直接使用pip工具来进行包的安装了

1.测试一:安装requests

这里我使用豆瓣源

[root@liuge ~]# pip install -i https://pypi.douban.com/simple/ requests

百度搜索了一下错误,说是openssl相关软件没有安装,

openssl

openssl-devel

yum -y install openssl openssl-devel

接着重新编译安装:

[root@liuge python35]# make & make install

这样,再次刷一遍安装命令:

[root@liuge python35]# pip install -i https://pypi.douban.com/simple/ requests

2.测试二:安装scrapy环境

先上命令:

[root@liuge python35]# pip install -i https://pypi.douban.com/simple/ scrapy

发现,找不到Twisted

我们需要手动安装Twisted

1.下载啊

[root@liuge ~]# wget https://pypi.python.org/packages/source/T/Twisted/Twisted-15.2.1.tar.bz2

2.解压,安装

[root@liuge ~]# bzip2 -d Twisted-15.2.1.tar.bz2
[root@liuge ~]# tar xf Twisted-15.2.1.tar
[root@liuge ~]# cd Twisted-15.2.1/
[root@liuge Twisted-15.2.1]# python setup.py install

继续安装scrapy

pip install -i https://pypi.douban.com/simple/ scrapy

到这里,我们的环境就安装完成了,简单总结下:

推荐python豆瓣镜像源:

pip install -i https://pypi.douban.com/simple/

找扩展依赖包地址:

www.lfd.uci.edu/~gohlke/pythonlibs/

有时候,需要这样替换

pip install requests -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

谢谢======

Centos7搭建Scrapy爬虫环境的更多相关文章

  1. scrapy爬虫学习系列一:scrapy爬虫环境的准备

    系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...

  2. Linux搭建Scrapy爬虫集成开发环境

    安装Python 下载地址:http://www.python.org/, Python 有 Python 2 和 Python 3 两个版本, 语法有些区别,ubuntu上自带了python2.7. ...

  3. windows7 64位下环境搭建scrapy爬虫框架

    适用于python 2.7 64位安装 一.操作系统:WIN7 64位 二.python版本:2.7 64位(scrapy目前不支持3.x) 不确定位数的,看图

  4. Centos7搭建php+mysql环境(整理篇)

    终于将mysql+php环境搭建成功,将之前的整理一下,环境:centos7,本机IP:192.168.1.24,数据库用户名及密码都设为root,测试文件路径:/var/www/html 1.取消c ...

  5. 使用scrapy-redis搭建分布式爬虫环境

    scrapy-redis简介 scrapy-redis是scrapy框架基于redis数据库的组件,用于scrapy项目的分布式开发和部署. 有如下特征:  分布式爬取 您可以启动多个spider工 ...

  6. 使用scrapy-redis 搭建分布式爬虫环境

    scrapy-redis 简介 scrapy-redis 是 scrapy 框架基于 redis 数据库的组件,用于 scraoy 项目的分布式开发和部署. 有如下特征: 分布式爬取: 你可以启动多个 ...

  7. centos7搭建.netcore运行环境

    开发环境介绍 1.操作系统:Windows Server 2008 R2 Enterprise 2.IDE:VisualStudio2017 3..Net Core 2.0 SDK 本文假设你已经满足 ...

  8. 阿里云centos7搭建php+nginx环境

    阿里云Centos搭建lnmp(php7.1+nginx+mysql5.7) https://jingyan.baidu.com/article/215817f7a10bfb1eda14238b.ht ...

  9. 【linux】【Fabric】Centos7搭建Fabric运行环境

    1.安装jdk1.8配置环境变量 参考:https://www.cnblogs.com/jxd283465/p/11541506.html 2.安装git yum -y install git 3.安 ...

随机推荐

  1. Codeforces 814C

    题意略. 思路: 尺取法,依然是要利用之前的结果. 感觉时间复杂度太高了,竟然也过了. #include<bits/stdc++.h> using namespace std; ; ]; ...

  2. Github资源下载

    自己收集的一些日常使用软件.编程书籍以及自己动手实践的程序,欢迎下载. 收集维护不易,喜欢请Star或Fork支持呀,(^-^)V. 所有资源均自己制作或收集自网络,如有侵权请联系删除. 友情链接 G ...

  3. 解决npm报错:Module build failed: TypeError: this.getResolve is not a function

    1.sass-loader的版本过高导致的编译错误,当前最高版本是8.x,需要退回到7.3.1 运行: npm uninstall sass-loader --save-dev(卸载当前版本) npm ...

  4. P2698 [USACO12MAR]花盆Flowerpot 单调队列

    https://www.luogu.org/problemnew/show/P2698 警示 用数组写双端队列的话,记得le = 1, ri = 0:le<=ri表示队列非空 题意 求一个最小的 ...

  5. HDU 4396More lumber is required 过至少K条边的最短路

    /* ** 题目要求过最少k条边的最短路 */ #include <iostream> #include <cstdio> #include <cstring> # ...

  6. HDU 3062 Party 裸 2-sat

    #include <iostream> #include <cstdio> #include <cstring> using namespace std; cons ...

  7. 牛客网暑期ACM多校训练营(第三场)---A.PACM Team

    链接:https://www.nowcoder.com/acm/contest/141/A 来源:牛客网 题目描述 Eddy was a contestant participating in ACM ...

  8. 2019icpc徐州网络赛_I_query

    题意 给定一个序列,多次询问区间\([l,r]\)中满足\(min(a[i],a[j])==gcd(a[i],a[j])\)的数对\((i,j)\)数. 分析 其实就是求区间有倍数关系的数对数. 由于 ...

  9. lambda表达式不同对象根据对象某个属性去重

    1.有时候有两个list对象,我们想要去重,比如: List<User> userList和List<Person>personList 想通过User的id和Person的i ...

  10. JSP四大作用域属性范围

    JSP四大作用域分别为:page, request ,session, application . 第一个作用域是page,他只在当前页面有效,也就是用户请求的页面有效,当当前页面关闭或转到其他页面时 ...