python升級後帶來的幾個小問題

散盡浮華發表於2016-07-26

 

1)python升級帶來的yum異常File "/usr/bin/yum", line 30
原因:這是因為yum採用Python作為命令直譯器,這可以從/usr/bin/yum檔案中第一行#!/usr/bin/python發現。
而python版本之間相容性不太好,使得2.X版本與3.0版本之間存在語法不一致問題。而CentOS 5自帶的yum採用的是python2.4,當系統將python升級到2.6或3.0後,出現語法解釋錯誤

解決辦法:
[root@jenkins-server ~]# python -V
Python 3.3.0
 
[root@jenkins-server ~]# vim /usr/bin/yum
#!/usr/bin/python2.6               //由原來的/use/bin/python改為/usr/bin/python2.6
import sys
.......

2)Python升級帶來的pip命令異常:
Traceback (most recent call last):
   File "/usr/bin/pip", line 5, in <module>
      from pkg_resources import load_entry_point
ImportError: No module named 'pkg_resources'

解決辦法:
[root@jenkins-server ~]# cat /usr/bin/pip
#!/usr/bin/python2.6              //由原來的/use/bin/python改為/usr/bin/python2.6
# EASY-INSTALL-ENTRY-SCRIPT: 'pip==7.1.0','console_scripts','pip'

3) python升級後導致supervisord不能使用
  File "/usr/bin/supervisord", line 2, in <module>
     from supervisor.supervisord import main
ImportError: No module named 'supervisor'

[root@jenkins-server ~]# vim /usr/bin/supervisord 
#!/usr/bin/python2.6                   //由原來的/use/bin/python改為/usr/bin/python2.6
from supervisor.supervisord import main
......

總結:
Python升級後,只要是在二進位制檔案裡引用了"#!/usr/bin/python"的命令都不能正常使用!
必須要將這個引用的python資訊改為升級前的那個版本的才可以正常使用。

相關文章