在公司开发部干活的好处是可以再分配一台高性能的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. (NO.00003)iOS游戏简单的机器人投射游戏成形记(十三)

    好了,现在在iOS模拟器中编译运行App,一切貌似都很好. 且慢,我们还没有到真机上调试呢?按说在编写App'时,无论如何应该尽快尽早在真机上调试.否则可能会碰到意想不到的问题,这次就是如此. 在真机 ...

  2. Volley请求

    1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行H ...

  3. 安卓TV开发(十) 智能电视开发之在线视频直播

    转载注明出处:http://blog.csdn.net/sk719887916/article/details/46582987 从<安卓TV开发(八) 移动智能终端多媒体之在线加载网页视频源& ...

  4. SpringMVC注解控制器详解

    主要包括四类:@Component.@Repository @Service.@Controller 说明: @Controller 控制层,就是我们的action层 @Service 业务逻辑层,就 ...

  5. 【Unity Shaders】Diffuse Shading——在Surface Shader中使用properties

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  6. 常用Map实现类对比

    翻译人员: 铁锚 翻译时间: 2013年12月12日 原文链接: HashMap vs. TreeMap vs. Hashtable vs. LinkedHashMap Map 是最常用的数据结构之一 ...

  7. hibernate关联对象的增删改查------增

    本文可作为,北京尚学堂马士兵hibernate课程的学习笔记. 这一节,我们看看hibernate关联关系的增删改查 就关联关系而已,咱们在上一节已经提了很多了,一对多,多对一,单向,双向... 其实 ...

  8. PCMM(人力资源能力成熟度模型)V2.0中英对照版发布

    PCMM中英版终于发布 时光荏苒,从当初的回眸到如今的回头,这才发现:坚守一份承诺是多么的不易! 一年多了,这份承载殷切期待的作品--<PCMM(人力资源能力成熟度模型)V2.0 (中英文对照版 ...

  9. LeetCode之“树”:Balanced Binary Tree

    题目链接 题目要求: Given a binary tree, determine if it is height-balanced. For this problem, a height-balan ...

  10. C++之标准输入输出

    由于在公司,无法上传图片,往后补上. 关于C++的标准输入输出,其实就相当于C语言的scanf和printf,只不过C++用cin和cout这样称为流的机制. #include <iostrea ...