python更新后yum问题
How to switch between Python versions on Fedora Linux
# ls /usr/bin/python* /usr/bin/python /usr/bin/python2.7 /usr/bin/python3 /usr/bin/python3.4m /usr/bin/python-coverage /usr/bin/python2 /usr/bin/python2-coverage /usr/bin/python3.4 /usr/bin/python3-mako-renderNow, check your default python version:
# python -V Python 2.7.8To change python version on per user basis simply create a new alias in you
.bashrc
located under your home directory: $ alias python='/usr/bin/python3.4' $ . ~/.bashrc $ python --version Python 3.4.2To change python version globally first check whether python alternative version is already registered by
alternatives
command: # alternatives --list | grep -i pythonNo output means not alternative python version is configured yet. Register the two above listed python version with
alternative
command. # alternatives --install /usr/bin/python python /usr/bin/python3.4 2 # alternatives --install /usr/bin/python python /usr/bin/python2.7 1The above commands will instruct
alternatives
command to create relevant symbolic links to be used anytime a python
command is executed. We have also given python3.4
a higher priority 2
which means, if no python alternative is selected the python3.4
will be used as default. After execution of the above commands your python version should change to python3.4
due to its higher priority. # python -V Python 3.4.1To switch between above alternative python version is now simple as:
# alternatives --config pythonThere are 2 programs which provide 'python'.Selection Command ----------------------------------------------- *+ 1 /usr/bin/python3.42 /usr/bin/python2.7Enter to keep the current selection[+], or type selection number: 2 [root@localhost fedora]# python -V Python 2.7.8
1. Appendix
Known problems with Fedora Linux and Python 3 version: Error message:# yum search packageFile "/usr/bin/yum", line 30except KeyboardInterrupt, e:^ SyntaxError: invalid syntaxIf you set python3 globally on your system change the
yum
shebang to python2: # vi /usr/bin/yum FROM: #!/usr/bin/python TO: #!/usr/bin/python2.7Similarly: Error message:
Downloading packages:File "/usr/libexec/urlgrabber-ext-down", line 28except OSError, e:^ SyntaxError: invalid syntax Exiting on user cancelThe issue is also related to Python 3 set as a default global version. To fix this error update
/usr/libexec/urlgrabber-ext-down
script: # vi /usr/libexec/urlgrabber-ext-down FROM: #!/usr/bin/python TO: #!/usr/bin/python2.7
posted on 2016-12-24 13:55 Kilichko 阅读(...) 评论(...) 编辑 收藏