在Centos上安装python及其附属环境

13 篇文章 0 订阅
2 篇文章 0 订阅

安装python2.7.5,pip和mrjob等环境


首先测试是否装有GCC:

[root@IAE-HADOOP01 /]# gcc
gcc: 没有输入文件

表示安装成功


[root@IAE-HADOOP01 /]# gcc
bash: gcc: command not found

表示未安装


安装方式:

yum install gcc gcc-c++

安装easy_install

yum install python-setuptools-devel


然后下载python2.7.5

下载python-2.7.5.tar.bz2文件,

wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2

修改文件权限 chmod 777 Python-2.7.5.tar.bz2


tar jxvf Python-2.7.5.tar.bz2

cd Python-2.7.5

./configure --prefix=/usr/local

make && make install

如果没有zlib

先去http://www.zlib.net/下载最新版本的zlib源码文件,如:http://zlib.net/zlib-1.2.8.tar.gz


安装zlib:
tar xzvf zlib-1.2.8.tar.gz
cd zlib-1.2.8

(建议默认路径安装)

./configure
make
make install
去python目录
./configure --prefix=/usr/local --with-zlib=/usr/include

再make&&make install



在bin中建立连接

mv /usr/bin/python /usr/bin/python2.6.6.old

ln -s /usr/local/bin/python /usr/bin/python


yum会出问题,所以需要更改yum的配置

#vi /usr/bin/yum

将文件头部的#!/usr/bin/python改为

#!/usr/bin/python2.6


下载pip:

wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate

下载setuptools

wget https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg  --no-check-certificate


链接python2.7

ln -s /usr/bin/python /usr/bin/python2.7

chmod +x setuptools-0.6c11-py2.7.egg
sh setuptools-0.6c11-py2.7.egg


cd pip-1.3.1

python setup.py install

链接pip:

ln -s /usr/local/python27/bin/pip /usr/bin/pip


测试pip,如果报错

AttributeError: 'module' object has no attribute 'HTTPSConnection'

说明安装python的时候 没有安装 _ssl module,

yum install openssl openssl-devel

之后在重新编译python安装,make && make install


pip安装依赖库


安装flask

pip install flask

安装simplejson

pip install simplejson

安装MySQLdb

pip install MySQL-python

安装mysql的支持包是最容易出错的,如果出现找不到mysql_config.h的情况,有几种解决方法,一般来说这个问题是因为没有安装或者安装路径出错导致找不到mysql的一个头文件。解决方法可以是下载安装配置mysql,也可以直接在centos下yum install mysql-devel


安装pymongo

pip install pymongo


安装snownlp

pip install snownlp


安装mrjob

pip install mrjob

mrjob需要安装boto依赖,如果总是下载超时的话,可以考虑从git上下载下来,然后用python setup.py install 进行安装


设定java_home和hadoop_home

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64/

export HADOOP_HOME=/usr/lib/hadoop

mrjob运用了hadoopstreaming.jar,默认需要移动到hadoophome的路径下

cp /usr/lib/hadoop-mapreduce/hadoop-streaming.jar /usr/lib/hadoop/


运行mrjob在hadoop上,报错说没有路径文件夹

 sudo -u hdfs hdfs dfs -mkdir /user/root

赋权限

sudo -u hdfs hdfs dfs -chmod 777 /user/root

修改用户

sudo -u hdfs hdfs dfs -chown -R root:root /user/root/tmp


错误报告:

在跑mrjob时,会出现无法新建mkdir的命令

 STDERR: mkdir: `hdfs:///user/root/tmp/mrjob/mrjobTest.root.20140707.015356.071610/files/': No such file or directory 

这个是因为yelp发出的mrjob的源代码中一个小bug,如果父路径不存在,就无法新建
解决办法:
在site-packages/mrjob/hadoop.py下,大概271行左右,
将ke_hadoop(['fs', '-mkdir', path])
改成ke_hadoop(['fs', '-mkdir', '-p', path])
即可。

特此感谢老婆--默默同学--最贤惠的产品经理




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值