昨天把redmine的测试环境给搞Over了,想了下,干脆直接把环境给整成docker化的,配置环境的时候,安装docker-compose需要python2.7支持。
CentOS 6 系统默认 Python 版本是:2.6.6 ,需要升级到 2.7 以上的库才行,记录升级过程。
1. 准备系统安装包
# 下载安装依赖的相关包 [root@vip ~]# yum install vim gcc make wget -y [root@vip ~]# yum install openssl-devel zlib-devel readline-devel sqlite-devel -y
#下载python包
# cd /usr/local/src # wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz # 解压 # tar -zxvf Python-2.7.10.tgz # ls Python-2.7.10 Python-2.7.10.tgz
2. 编译配置安装
# cd Python-2.7.10 # ./configure --enable-shared --enable-loadable-sqlite-extensions --prefix=/usr/local/python27 --with-zlib --with-ssl # vim ./Modules/Setup # 找到下边这一行内容,去掉注释 #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz # make && make install
3. 查看 python 版本信息
# python -V Python 2.6.6 # 版本依旧是 2.6.6
4. 用 python2.7 替换旧版本
# cd /usr/bin/ # ls python* -l # 旧 python 版本信息 -rwxr-xr-x. 2 root root 4864 2月 22 2013 python lrwxrwxrwx. 1 root root 6 10月 22 18:38 python2 -> python -rwxr-xr-x. 2 root root 4864 2月 22 2013 python2.6 # mv /usr/bin/python /usr/bin/python2.6.6 # ln -s /usr/local/python27/bin/python2.7 /usr/bin/python # ls python* -l lrwxrwxrwx. 1 root root 33 10月 23 00:01 python -> /usr/local/python27/bin/python2.7 lrwxrwxrwx. 1 root root 6 10月 22 18:38 python2 -> python -rwxr-xr-x. 2 root root 4864 2月 22 2013 python2.6 -rwxr-xr-x. 2 root root 4864 2月 22 2013 python2.6.6
5. 重新验证 Python 版本信息
# python -V Python 2.7.10
可以看到,系统识别的 python 版本已经是 python 2.7.10
执行 python -V 遇到的问题:
python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory # 原因:linux系统默认没有把/usr/local/python27/lib路径加入动态库搜索路径
解决:
# vim /etc/ld.so.conf # 添加如下一行内容 /usr/local/python27/lib # ldconfig # 使新添加的路径生效
解决 yum 兼容性问题
因为 yum 是不兼容 Python 2.7 的,所以 yum 不能正常工作,我们需要指定 yum 的 Python 为 2.6。
1. 升级 python 后 yum 出现的问题
# yum There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: No module named yum ... ... ... ...
2. 编辑 yum 配置文件
# vim /usr/bin/yum #!/usr/bin/python # 第一行修改为 python2.6.6 #!/usr/bin/python2.6.6
3. 验证 yum 问题解决
# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile ... ... ... ...
升级 python 后,安装 pip 工具
1、首先检查linux有没有安装python-pip包,终端执行 pip -V
# pip -V -bash: pip: command not found
2、没有python-pip包就执行命令 yum -y install epel-release
yum -y install epel-release
3、执行成功之后,再次执行yum -y install python-pip
yum -y install python-pip
4、对安装好的pip进行升级 pip install --upgrade pip
pip install --upgrade pip
5、pip安装好了,执行pip -V 再次检查pip环境。
pip -V pip 9.0.1 from /usr/lib/python2.7/site-packages (python 2.7)
yun安装的pip无法使用?pip更新:
1. 下载安装
# wget https://bootstrap.pypa.io/get-pip.py # python get-pip.py
2. 设置软连接
# ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip
安装 ipython
# pip install ipython==1.2.1 # ln -s /usr/local/python27/bin/ipython /usr/bin/ipython