在公司开发部干活的好处是可以再分配一台高性能的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. go-mysql: database/sql 接口适配

    go-mysql已经支持golang database/sql接口,并通过https://github.com/bradfitz/go-sql-test测试用例. 现在go-mysql可以直接通过go ...

  2. (NO.00001)iOS游戏SpeedBoy Lite成形记(二十二)

    自己的游戏自己更需要多玩,这样才能首先发现不足的地方.所以本猫到现在已经忍一个地方很久了,就是弹出moneyLayer后每次都要输入数字才能关闭,这多少让人不爽.于是本篇我们就修正这个小小的不便. 首 ...

  3. Spring揭秘 读书笔记 七 BeanFactory的启动分析

    首先,先看我自己画的BeanFactory启动时的时序图. 第一次接触时序图,可能有些地方画的不是很符合时序图的规则,大家只关注调用顺序即可. public static void main(Stri ...

  4. Java进阶(二十三)java中long类型转换为int类型

    java中long类型转换为int类型 由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参 ...

  5. javascript概要学习

    Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为 ...

  6. RAC 10g administration

    10g RAC administration See OCFS Oracle Cluster Filesystem, ASM, TNSnames configuration, Oracle Datab ...

  7. Android 自定义view --圆形百分比(进度条)

    转载请注明出处:http://blog.csdn.net/wingichoy/article/details/50334595 注:本文由于是在学习过程中写的,存在大量问题(overdraw onDr ...

  8. 细说Android事件传递

    一.View的dispatchTouchEvent和onTouchEvent 探讨Android事件传递机制前,明确android的两大基础控件类型:View和ViewGroup.View即普通的控件 ...

  9. Leetcode_252_Implement Stack using Queues

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/48598773 Implement the followin ...

  10. LeetCode(47)-Reverse Bits

    题目: Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented ...