一:python2.7.12安装
1:获取python2.7.12
wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz
2:确保安装gcc zlib zlib-develpython-devel libffi-devel openssl openssl-devel如果没有请使用yum安装
gcc zlib zlib-devel python-devel libffi-devel openssl openssl-devel
gcc 为编译时使用,如果不安装make会报错
zlib 为安装setuptools时使用,否则会有如下报错:
RuntimeError: Compression requires the (missing) zlib module
openssl 如果不安装的话用pip安装模块的时候会报错,显示ssl module不可用之类的。。。
3: tar xvfPython-2.7.12.tgz
4:cd Python-2.7.12
5:sudo ./configure --prefix=/usr/local/python2.7 --with-zlib=/usr/local/include
6:make && make install
7:cd /usr/local/python2.7/include/python2.7/
8:拷贝头文件到标准目录,防止安装类似ansible找不到头文件
sudo cp -a ./* /usr/loca/bin/include/
9:cd /usr/bin/
10:重命名旧版本
sudo mv python python2.6
11:修改yum命令的python位置,防止yum的无法使用
sudo sed -i 's@#!/usr/bin/python@#!/usr/bin/python2.6@' /usr/bin/yum
12:设置新安装python的软连接
sudo ln -s /usr/local/python2.7/bin/python /usr/bin/python
13:查看是否安装成功
=======================================================================================
二:pip安装
1:获取pip9.0.1
wgethttps://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9--no-check-certificate
2:解压
tar xvfpip-9.0.1.tar.gz
3:设置环境变量
PYTHON_HOME=/usr/local/python2.7
PATH=$PATH:$HOME/bin:$PYTHON_HOME/bin
source ~/.bash_profile
4:做一个软连接防止sudo pip command not found 出现
which pip #先用which 看一下pip的路径
sudo ln -s /usr/local/python2.7/bin/pip /usr/bin/pip
5:安装
sudo python setup.py install
6:选取国内pip源安装软件
创建文件及文件夹在用户家目录下 ~/.pip/pip.conf
[global]
index-url =http://pypi.douban.com/simple
7:可以安装模块了
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/