【python教程】centos6下python2.6升2.7教程

centos6系统默认的python版本是2.6,而现在许多应用需要python2.7的版本才能运行,除了换centos7系统外,我们还有一条选择,那就是升级!

这是先扒了这个教程来,后面再测试看是否能够成功。

PS:感谢简书作者:Colinws的辛勤劳动。原文可查看:http://www.jianshu.com/p/b0c124cd8aa9

环境

[root@i-cnh16bcn opt]# cat /etc/redhat-releaseCentOS release 6.8 (Final)

[root@i-cnh16bcn opt]# python -VPython 2.6.6

安装Python2.7

下载源码包

wget

解压并且安装

tar -zxvf Python-2.7.5.tar.gz
cd Python-2.7.5./configure --prefix=/usr/local/python2.7.5 --enable-shared
make && make install

注意这里的--enable-shared 强烈建议加上该参数,否则可能执行import module的时候报错不能正常导入

升级

mv /usr/bin/python /usr/local/python2.66ln -s /usr/local/python2.7.5/bin/python /usr/bin/python

验证

[root@i-cnh16bcn opt]# python -VPython 2.7.5

遇到问题


问题1

python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

解决之道

Python2.7 使用--enable-shared 之后在 /usr/local/python2.7.5/lib下面生成共享文件,需要把这个加入到相关的搜索配置中去

vim /etc/ld.so.conf
/usr/local/python2.7.5/lib## 然后执行下面的命令使其生效/sbin/ldconfig
/sbin/ldconfig -V

问题2

[root@i-cnh16bcn opt]# pip -VTraceback (most recent call last):
  File "/usr/bin/pip", line 7, in     from pip import main
ImportError: No module named pip

解决之道

/usr/bin/pip已经存在但是还是提示没有pip模块,所以怀疑还是升级版本导致,需要安装最新版

cd /tmp
wget https://bootstrap.pypa.io/get-pip.py## 用新版Python安装/usr/local/python2.7.5/bin/python /tmp/get-pip.py## 新安装的pip[root@i-cnh16bcn opt]# ls -l /usr/local/python2.7.5/bin/pip*-rwxr-xr-x 1 root root 205 Apr 29 22:10 /usr/local/python2.7.5/bin/pip
-rwxr-xr-x 1 root root 205 Apr 29 22:10 /usr/local/python2.7.5/bin/pip2
-rwxr-xr-x 1 root root 205 Apr 29 22:10 /usr/local/python2.7.5/bin/pip2.7## 验证新安装的pip[root@i-cnh16bcn opt]# /usr/local/python2.7.5/bin/pip -Vpip 9.0.1 from /usr/local/python2.7.5/lib/python2.7/site-packages (python 2.7)


问题3

Traceback (most recent call last): 
File "/usr/bin/pip", line 5, in  
from pkg_resources import load_entry_point 
ImportError: No module named pkg_resources

解决之道

还是因为新版Python对应的pip问题,需要把系统默认的换成最新的

mv /usr/bin/pip /usr/bin/pip.old
ln -s /usr/local/python2.7.5/bin/pip /usr/bin/pip

附加

因为YUM使用的是Python2.6,升级之后避免YUM不能使用应该做如下操作

vim /usr/bin/yum#!/usr/bin/python -> #!/usr/bin/python2.66
阅读剩余
THE END