在公司开发部干活的好处是可以再分配一台高性能的PC,有了新的工作电脑,原来分配的笔记本电脑就可以安装linux系统做开发了,主要有两方面的开发计划,一个是计划中要参与爬虫系统的开发,第二个是大数据环境的安装和测试。

选择centos

既然选择了要做linux开发了,选择哪个系统版本就成立一个问题。以前学OS系统时候,用过ubuntu,GUI感觉和用老版本的windows比较像(后来ubuntu12的GUI惊艳了我),和windows环境的差异感比较小。

最后决定是centos,最重要的原因是公司都在往centos7上迁移,并且目前国内的互联网公司也主要是centos为主吧,参考为什么国内互联网公司喜欢用Centos而不是Ubuntu?。另外centos也比较能锻炼人吧,后面配置环境的经历确实让我感觉很受锻炼,遇到更多问题,还重装了N次系统。

用U盘刻了CentOS-7-x86_64-Everything-1511版本,目前最新的应该是7.3.1611,不过差别不太大。安装步骤说明:

首先参考这两份文档:U盘安装win8(win7)+centos7双系统 Win10下安装CentOS 7双系统详解

  • 修改BIOS的boot顺序,改为U盘启动。
  • 进入Centos的安装界面小黑屏,有三个选择,先别管那么多,按一下TAB键修改安装的位置,避免进入默认的网络安装。下图中第二份教程中的这个图片有点问题,不一定能找出来,建议使用这个命令找到U盘的盘符名,类似sda1,sdb2,sdc3这种。
  1. vmlinuz initrd=initrd.img linux dd

  • 找到插入的U盘的盘符后(假设为sdc4),按电源键强制重启再进入,再按TAB键,这次修改为
  1. vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdc4 quite

更新yum源

centos是使用yum来在线安装软件的,也比较好用,能管理依赖关系。如果yum安装不成功,就要手工下载rpm包或者源码进行make install。

因为众所周知的原因,国内用centos默认yum源会比较慢,所以需要更新为国内的软件源。我用了阿里云的源,具体更新步骤如下:

  1. sudo -i
  2. cd /etc/yum.repos.d/
  3. mv CentOS-Base.repo CentOS-Base.repo.save
  4. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  5. yum clean all
  6. yum makecache
  7. yum -y update
  8. yum install python-setuptools
  9. easy_install pip

好,上述步骤完成后,我们就把python的pip工具安装好了。不过python还是2.7.5版本的,之前有升级过2.7.13,但是后来yum就各种傻逼了,所以暂时先不升级2.7.13。

python的开发环境

因为后续可能涉及python2和python3的开发项目,需要把每个项目环境独立开来,这里通过virtualenv和virtualenvwrapper来解决。执行下面的步骤:

  1. sudo yum -y install python-virtualenv
  2. sudo easy_install virtualenvwrapper
  3. mkdir py_vm
  4. export WORKON_HOME=/home/kejun/py_vm
  5. source /usr/bin/virtualenvwrapper.sh
  6. mkvirtualenv spider

执行上述的指令,我们就完成了爬虫的虚拟环境的安装,现在继续安装在windows开发的环境中用到的python第三方包。

这边介绍一款可以按项目导出需求包的工具pipreqs。以创建的第一个爬虫项目kejun_first_crawler为例。执行下面的命令:

  1. pip install pipreqs
  2. pipreqs D:\PWorkspace\kejun_first_crawler

成功运行后,可以看到下图:



打开目录下的requirements.txt,可以看到

chardet==2.3.0

Scrapy==1.3.2

selenium==3.0.2

beautifulsoup4==4.5.3

python_dateutil==2.6.0

也就是说运行该爬虫项目需要的就只要上述5个第三方包就行了。然后按照下面的指令完成导入到虚拟项目spider中就行了,这样可以做到相对的隔离。

  1. pip install -r requirements.txt

搭建centos7的开发环境1-系统安装及Python配置的更多相关文章

  1. 搭建centos7的开发环境3-Spark安装配置

    说起大数据开发,必然就会提到Spark,在这片博文中,我们就介绍一下Spark的安装和配置. 这是Centos7开发环境系列的第三篇,本篇的安装会基于之前的配置进行,有需要的请回复搭建centos7的 ...

  2. 搭建centos7的开发环境2-单机版Hadoop2.7.3配置

    最近公司准备升级spark环境,主要原因是生产环境的spark和hadoop版本都比较低,但是具体升级到何种版本还不确定,需要做进一步的测试分析.这个任务对于大数据开发环境配置有要求,这里记录一下配置 ...

  3. 从零开始搭建Go语言开发环境

    一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...

  4. 安装Go语言及搭建Go语言开发环境

    一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...

  5. GO学习-(2) 从零开始搭建Go语言开发环境

    从零开始搭建Go语言开发环境 一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站( ...

  6. 用grunt搭建web前端开发环境

    1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...

  7. Windows下搭建Spark+Hadoop开发环境

    Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...

  8. 使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  9. 搭建Android底层开发环境

    为了开发linux驱动方便些,我们一般将linux作为Android的开发环境,那么就需要搭建Android的开发环境,下面是一些搭建Android底层时的心得: (1)安装JDK:除了普遍使用的下载 ...

随机推荐

  1. Java实现二叉树的创建和遍历操作(有更新)

    博主强烈建议跳过分割线前面的部分,直接看下文更新的那些即可. 最近在学习二叉树的相关知识,一开始真的是毫无头绪.本来学的是C++二叉树,但苦于编译器老是出故障,于是就转用Java来实现二叉树的操作.但 ...

  2. Chapter 3 Protecting the Data(2):分配列级权限

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/39577861,专题目录:http://blog.csdn.net/dba_huangzj ...

  3. C3P0和DBCP的区别

    C3P0和DBCP的区别 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.目前使用它的开源项目有Hibernate,Spring等.     ...

  4. 柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布

    柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布 由于JAVA和Android的平台型,所以APP很容易被反编译,这对于我们开发者来说,是一个不想要 ...

  5. PKU 3468 A Simple Problem with Integers

    题目大意: 有N,M两个数 Q 表示查询, 后面两个数a b,表示查询从a 到b计算它们的和 C 表示增加   后面三个数a,b,c 表示从a开始,一直到b,每个数都增加c 除了查询要进行输出,增加不 ...

  6. ReactJs和React Native的那些事

    介绍 1,React Js的目的 是为了使前端的V层更具组件化,能更好的复用,它能够使用简单的html标签创建更多的自定义组件标签,内部绑定事件,同时可以让你从操作dom中解脱出来,只需要操作数据就会 ...

  7. Css技术入门笔记01

    在学习html的时候,html中的标签都具备了特定功能,或者含义,以及相应的样式效果.可是在有些时候我们可能仅仅希望使用 html标签把要显示的数据封装起来,而不需要任何的样式效果.这时就需要单独的标 ...

  8. C#之结尾篇

    在Top10语言中,C#是最优美的语言,没有之一,在Top10语言中,C#所可用的标准库及可获得其他库是最强大的之一,这个必须带上之一,因为有java在,在Top语言中,C#语言是性能最高的语言之一, ...

  9. OC语言(二)

    十.匿名对象 即不将对象赋给指针,而是直接使用 注意new对象的时候要用[ ]嵌套 例如:[[Car new] run]; 十一.枚举书写规范 注意空格 //注视 typedef enum { } X ...

  10. 【面试笔试算法】Program 2:Amusing Digits(网易游戏笔试题)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 网易成立于1997年6月,是中国领先的互联网技术公司.其相继推出了门户网站.在线游戏.电子邮箱.在线教育.电子商务等多种服 ...