zoukankan      html  css  js  c++  java
  • python更新后yum问题


    Currently, the default python version on Fedora Linux is Python 2. Later Fedora Linux release 22 will ship with the Python 3 as a default version. In this config you will learn how to switch between python versions on Fedora Linux. Let's start by listing all Python versions available on your Fedora system:
    # 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-render
    
    Now, check your default python version:
    # python -V
    Python 2.7.8
    
    To 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.2
    
    To change python version globally first check whether python alternative version is already registered by alternatives command:
    # alternatives --list | grep -i python
    
    No 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 1
    
    The 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.1
    
    To switch between above alternative python version is now simple as:
    # alternatives --config python
    
    There are 2 programs which provide 'python'.
    
      Selection    Command
    -----------------------------------------------
    *+ 1           /usr/bin/python3.4
       2           /usr/bin/python2.7
    
    Enter 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 package
      File "/usr/bin/yum", line 30
        except KeyboardInterrupt, e:
                                ^
    SyntaxError: invalid syntax
    
    If you set python3 globally on your system change the yumshebang to python2:
    # vi /usr/bin/yum
    FROM:
    #!/usr/bin/python
    TO:
    #!/usr/bin/python2.7
    
    Similarly: Error message:
    Downloading packages:
      File "/usr/libexec/urlgrabber-ext-down", line 28
        except OSError, e:
                      ^
    SyntaxError: invalid syntax
    Exiting on user cancel
    
    The 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
    
  • 相关阅读:
    深入浅出 Java Concurrency (4): 原子操作 part 3 指令重排序与happens-before法则
    深入浅出 Java Concurrency (3): 原子操作 part 2
    深入浅出 Java Concurrency (2): 原子操作 part 1
    深入浅出 Java Concurrency (1) : J.U.C的整体认识
    java中关键字volatile的作用
    教你如何迅速秒杀掉:99%的海量数据处理面试题(转)
    STL容器介绍(转)
    IoC框架
    LeetCode 548. Split Array with Equal Sum (分割数组使得子数组的和都相同)$
    LeetCode 533. Lonely Pixel II (孤独的像素之二) $
  • 原文地址:https://www.cnblogs.com/Yemilice/p/6217250.html
Copyright © 2011-2022 走看看