一:python2.7.12安装


#获取python2.7.12

wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz


#确保安装如下软件如果没有请使用yum安装

gcc zlib zlib-devel python-devel libffi-devel openssl openssl-devel make automake


gcc     #为编译时使用,如果不安装make会报错


zlib    #为安装setuptools时使用,否则会有如下报错

RuntimeError: Compression requires the (missing) zlib module


openssl  #如果不安装的话用pip安装模块的时候会报错,显示ssl module不可用之类的。。。



# 解压

tar xvf Python-2.7.12.tgz  


# 进入安装目录

cd Python-2.7.12


# 配置软件生成Makefile

sudo ./configure \ 

--prefix=/usr/local/python2.7 

--with-zlib=/usr/local/include 



# 编译安装

make && make install


# 进入到python安装头文件目录

cd /usr/local/python2.7/include/python2.7/


# 拷贝头文件到标准目录,防止安装类似ansible找不到头文件

sudo cp -a ./* /usr/loca/bin/include/


# 进入可执行二进制文件目录

cd /usr/bin/


# 重命名旧版本

sudo mv python python2.6


# 修改yum命令的python位置,防止yum的无法使用

sudo sed -i 's@#!/usr/bin/python@#!/usr/bin/python2.6@' /usr/bin/yum


# 设置新安装python的软连接

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


# 查看是否安装成功

wKiom1gukVbx59-gAAALwk70cKM330.png


=======================================================================================


二:pip安装


# 获取pip9.0.1

wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9 --no-check-certificate


# 解压

tar xvf pip-9.0.1.tar.gz


# 安装pip

cd pip-9.0.1

sudo python setup.py install


# 设置环境变量,普通用户一样设置

~/.bash_profile添加如下内容:


PYTHON_HOME=/usr/local/python2.7

PATH=$PATH:$HOME/bin:$PYTHON_HOME/bin


source ~/.bash_profile


# 做一个软连接防止sudo pip command not found出现

which pip  #先用which 看一下pip的路径

sudo ln -s /usr/local/python2.7/bin/pip /usr/bin/pip



# 选取国内pip源安装软件

创建文件及文件夹在用户家目录下 ~/.pip/pip.conf

添加如下内容:

[global]

index-url =http://pypi.douban.com/simple


# 可以安装模块了

pip install PyYAML --trusted-host pypi.douban.com



=======================================================================================



三:安装新版本之后的pip ssl错误


SSLError: Can't connect to HTTPS URL because the SSL module is not available


------------------------------------------------------------------------------

注:此方法摘抄自网络,但并没有解决我的问题,所以重置了一下虚拟机,从第一步

安装的时候,确保所有依赖安装上,就不会出现各种各样的问题了。

-------------------------------------------------------------------------------


问题原因: curl的证书太老了需要下载最新的证书:
下载最新的证书文件

wget http://curl.haxx.se/ca/cacert.pem  

更名为ca-bundle.crt放置到默认目录  

mv cacert.pem ca-bundle.crt 
mv ca-bundle.crt /etc/pki/tls/certs/ 


参考:

http://sofar.blog.51cto.com/353572/1579894/ # 安装ansiblepython环境

http://blog.chinaunix.net/uid-26000296-id-4769414.html # 安装setuptools ssl错误

http://topmanopensource.iteye.com/blog/2004853 # 国内pip源