在公司开发部干活的好处是可以再分配一台高性能的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. windbg分析运行在64位环境下的32位程序的dump

    windbg命令如下 1.   .load wow64exts 2.   !sw 3.   ~* kvnf

  2. android的Drawable详解

    Drawable简介 Drawable有很多种,用来表示一种图像的概念,但他们又不完全是图像,他们是用过颜色构建出来的各种图像的表现形式.Drawable一般都是通过xml来定义的 ,当然我们也可以通 ...

  3. 【Android 应用开发】Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简介

    Android 网络编程相关的包 : 9 包, 20 接口, 103 类, 6 枚举, 14异常; -- Java包 : java.net 包 (6接口, 34类, 2枚举, 12异常); -- An ...

  4. ListView中ConvertView和ViewHolder

    1.概述 ListView是Android中非常常见的控件通过Adapter架起数据与界面显示的桥梁,MVC思想在其中得到了很好地体现: M:model 数据模型    添加到ListView中显示的 ...

  5. listview异步加载图片并防止错位

    android listview 异步加载图片并防止错位 网上找了一张图, listview 异步加载图片之所以错位的根本原因是重用了 convertView 且有异步操作. 如果不重用 conver ...

  6. Cocos2D的平台检查宏

    为了避免在非iOS平台包含UIKit.h文件,需要在Prefix.pch文件中添加一个条件判断: #if __CC_PLATFORM_IOS #import <UIKit/UIKit.h> ...

  7. 【Coding算法导论】第4章:最大子数组问题

    Coding算法导论 本系列文章主要针对算法导论一书上的算法,将书中的伪代码用C++实现 代码未经过大量数据测试,如有问题,希望能在回复中指出! (一)问题描述 给定一个数组,求数组中连续的子数组的和 ...

  8. saiku显示不出新的cube(加载的cube,saiku会保存到缓存中,不重新加载)

    当用workbench 修改cube后,保存到saiku路径. saiku读取该cube时,如果以前加载过该cube(同路径,同名).则不会新加载,而是用缓存中的cube,这个cube是以前的cube ...

  9. Linux下C语言的调试 - gdb

    调试是每个程序员都会面临的问题. 如何提高程序员的调试效率, 更好更快地定位程序中的问题从而加快程序开发的进度, 是大家共同面对的问题. 可能Windows用户顺口就会说出:用VC呗 :-) , 它提 ...

  10. Linux - info

    基本上,info与man的用途其实差不多,都是用来查询命令的用法或者是文件的格式.但是与man page一口气输出一堆信息不同的是,info page则是将文件数据拆成一个一个的段落,每个段落用自己的 ...