Contents
  1. 1. 需求
  2. 2. 操作
  3. 3. 测试
  4. 4. 本文完

需求

由于假设了Zeppelin服务器,需要为数据团队提供python环境运行科学库算法。Python2.6为centos6.8系统默认自带同时被其yum工具依赖,2.6下使用科学库及数据库连接出现了较多问题,同时之前做过多次2.7升级,于是本次升级之后将工作记录下来备查,同时尽量写好脚本。

操作

为提高速度,可以在~/pip.ini中编辑增加以下内容

[global]
index-url = http://pypi.douban.com/simple/
[install]
trusted-host=mirrors.douban.com

本次安装了matplotlib/MySQL-python及其依赖包。
首先下载matplotlib-1.5.3.tar.gz Python-2.7.8.tar.xz numpy-1.11.2.tar.gz setuptools-1.4.2.tar.gz pip-1.5.5.tar.gz MySQL-python-1.2.4b4 scipy.tar.gz

#!/bin/sh
#libpng freetype为matplotlib需要,tk tcl tkinter gcc-c++ ssl为编译python需要  rpm ssl mysql python-devel为mysqldb需要
yum install libpng-devel freetype-devel gcc-c++ tcl-devel tk-devel tkinter openssl openssl-devel rpm-build mysql-devel python-devel -y
xz -d Python-2.7.8.tar.xz
tar -xvf Python-2.7.8.tar
cd Python-2.7.8
mv Modules/Setup.dist Modules/Setup.dist.bak
#本次centos安装的tk tcl为8.5版本,而python2.7安装包默认8.2版本,所以需要修改编译信息为8.5
sed '218,221s/^#//g;329s/^#//g;333s/^#//g;329s/^#//g;348s/^#//g;337s/^#//g;358s/^#//g;348s/8.2/8.5/g;' Modules/Setup.dist.bak  >Modules/Setup.dist
./configure --prefix=/usr/local && make && make install
cd ..
rm -f /usr/bin/python
#将python命令进行软连接
ln -s /usr/local/bin/python2.7  /usr/bin/python
mv /usr/bin/yum /usr/bin/yum2.6
#将yum指向系统原生默认的python位置/usr/bin/python2.6
sed  's/bin\/python/bin\/python2.6/g'  /usr/bin/yum2.6 > /usr/bin/yum
chmod 755 /usr/bin/yum*
tar -zxvf setuptools-1.4.2.tar.gz && cd setuptools-1.4.2 && python setup.py install
cd ..
tar -zxvf numpy-1.11.2.tar.gz && cd numpy-1.11.2 && python setup.py install
cd ../scipy && python setup.py install
cd ..
tar -zxvf pip-1.5.5.tar.gz && cd pip-1.5.5 && python setup.py install
rm -f /usr/local/bin/pip
#pip备份并重新连接
ln -s /usr/local/bin/pip2.7  /usr/local/bin/pip
pip install python-dateutil cycler
cd ..
tar -zxvf matplotlib-1.5.3.tar.gz && cd matplotlib-1.5.3 && python setup.py install
cd ..
tar -zxvf MySQL-python-1.2.4b4.tar.gz && cd MySQL-python-1.2.4b4
mv site.cfg site.cfg.bak
#修改mysql_config.cfg配置文件路径
sed 's/connector/#connector/g;s/#mysql/mysql/g;s/local\/bin/bin\/mysql/g' site.cfg.bak > site.cfg
python setup.py install

测试

在python-shell中输入import matplotlib以及import MySQLdb如果不报错,即表示成功安装

本文完

Contents
  1. 1. 需求
  2. 2. 操作
  3. 3. 测试
  4. 4. 本文完