zoukankan      html  css  js  c++  java
  • linux下面升级 Python版本并修改yum属性信息

    最近需要在linux下使用python,故需要升级一下python版本,上网查询了一下相关资料,更新了一下linux下面的python环境,记录如下:


    linux下面升级 Python版本并修改yum属性信息

     

    首先linux下查询python版本

    [root@test30 chengshaoling]# python -V

    Python 2.7.5

     

     

    1.最新版本python下载安装

    下载新版本的python

    python主站相关地址:

    https://www.python.org/downloads/source/

    https://www.python.org/downloads/release/python-2712/

    https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz

     

    [root@test30 makePython]# wget   https://www.python.org/downloads/release/python-373/Python-3.7.3.tgz   #下载的不完整,又手动网页下载,上传到Linux系统的

    解压缩 以及编译

    [root@test30 makePython]# tar -xvf Python-2.7.12.tgz

    [root@test30 makePython]# cd Python-2.7.12

    [root@test30 Python-2.7.12]# ./configure --prefix=/usr/local/python27    #我运行了   ./configure  后又运行了./configure --prefix=/usr/local/python37

    [root@test30 Python-2.7.12]# make

    [root@test30 Python-2.7.12]# make install

     

     

    再次查看python版本,系统展现版本未更新

    [root@test30 Python-2.7.12]# python -V

    Python 2.7.5

     

    2. python多版本共存解决

    下面来解决这个问题

    把原来的python重命名成python_old,注意不要删除

    [root@test30 Python-2.7.12]# mv /usr/bin/python /usr/bin/python_old

    [root@test30 Python-2.7.12]# ln -s /usr/local/python37/bin/python3 /usr/bin/python

     

    再查看一下版本

    [root@test30 Python-2.7.12]#python -V

    Python 3.7.3

     

    成功更新python版本

    3.解决yum的python版本问题

    还有最后一个问题要解决,因为yum是使用的python2.7.5的版本,所以 还需要修改一下yum的python版本(利用前面重命名的python_old文件夹的内容)

     

    [root@test30 Python-2.7.12]# 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

     

    Please install a package which provides this module, or

    verify that the module is installed correctly.

     

    It's possible that the above module doesn't match the

    current version of Python, which is:

    2.7.12 (default, Nov 29 2016, 11:07:49)

    [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)]

     

    If you cannot solve this problem yourself, please go to

    the yum faq at:

      http://yum.baseurl.org/wiki/Faq

     

    修改yum文件中配置的python程序位置:

    [root@test30 Python-2.7.12]# cd /usr/bin/

    [root@test30 bin]# vi yum

    #!/usr/bin/python_old    #修改此处为原始python程序的位置  #后边不能写注释,会出问题  不知道为啥

     

    import sys

    try:

        import yum

    except ImportError:

        print >> sys.stderr, """

    There was a problem importing one of the Python modules

    required to run yum. The error leading to this problem was:

     

       %s

     

    Please install a package which provides this module, or

    verify that the module is installed correctly.

     

    It's possible that the above module doesn't match the

    current version of Python, which is:

    %s

     

    If you cannot solve this problem yourself, please go to

    the yum faq at:

      http://yum.baseurl.org/wiki/Faq

     

    """ % (sys.exc_value, sys.version)

        sys.exit(1)

     

    sys.path.insert(0, '/usr/share/yum-cli')

    try:

        import yummain

        yummain.user_main(sys.argv[1:], exit_code=True)

    except KeyboardInterrupt, e:

        print >> sys.stderr, " Exiting on user cancel."

        sys.exit(1)

    ~

    ~

    ~

    ~

    ~

    ~

    ~

    ~

    ~

    ~

    ~

    "yum" 32L, 805C

     

     

     

    验证 yum 是否重新可以使用

     

    [root@test30 bin]# yum

    已加载插件:fastestmirror

    你需要给出命令

    Usage: yum [options] COMMAND

     

    List of Commands:

     

    check          Check for problems in the rpmdb

    check-update   检查是否有软件包更新

    clean          删除缓存的数据

    deplist        列出软件包的依赖关系

    distribution-synchronization Synchronize installed packages to the latest available versions

    downgrade      downgrade a package

    erase          从系统中移除一个或多个软件包

    groupinfo      显示组的详细信息

    groupinstall   向系统中安装一组软件包

    grouplist      列出可安装的组

    groupremove    从系统中移除一组软件包

    help           显示用法信息

    history        Display, or use, the transaction history

    info           显示关于软件包或组的详细信息

    install        向系统中安装一个或多个软件包

    list           列出一个或一组软件包

    load-transaction load a saved transaction from filename

    makecache      创建元数据缓存

    provides       查找提供指定内容的软件包

    reinstall      覆盖安装一个包

    repolist       显示已配置的仓库

    resolvedep     判断哪个包提供了指定的依赖

    search         在软件包详细信息中搜索指定字符串

    shell          运行交互式的 yum 外壳

    update         更新系统中的一个或多个软件包

    upgrade        更新软件包同时考虑软件包取代关系

    version        Display a version for the machine and/or available repos.

     

     

    Options:

      -h, --help            show this help message and exit

      -t, --tolerant        容忍错误

      -C, --cacheonly       run entirely from system cache, don't update cache

      -c [config file], --config=[config file]

                            配置文件路径

      -R [minutes], --randomwait=[minutes]

                            命令最长等待时间

      -d [debug level], --debuglevel=[debug level]

                            调试输出级别

      --showduplicates      在 list/search 命令下,显示仓库里重复的条目。

      -e [error level], --errorlevel=[error level]

                            错误输出级别

      --rpmverbosity=[debug level name]

                            debugging output level for rpm

      -q, --quiet           安静的操作

      -v, --verbose         verbose operation

      -y, --assumeyes       回答所有的问题为是

      --assumeno            answer no for all questions

      --version             显示 Yum 版本信息并退出

      --installroot=[path]  设置目标根目录

      --enablerepo=[repo]   启用一个或多个仓库(支持通配符)

      --disablerepo=[repo]  禁用一个或多个仓库(支持通配符)

      -x [package], --exclude=[package]

                            用全名或通配符排除软件包

      --disableexcludes=[repo]

                            禁止从主配置,从仓库或者从任何位置排除

      --obsoletes           升级时考虑软件包取代关系

      --noplugins           禁用 Yum 插件

      --nogpgcheck          禁用 gpg 签名检测

      --disableplugin=[plugin]

                            禁用指定名称的插件

      --enableplugin=[plugin]

                            enable plugins by name

      --skip-broken         跳过有依赖问题的软件包

      --color=COLOR         配置是否使用颜色

      --releasever=RELEASEVER

                            set value of $releasever in yum config and repo files

      --downloadonly        don't update, just download

      --downloaddir=DLDIR   specifies an alternate directory to store packages

      --setopt=SETOPTS      set arbitrary config and repo options

     

      插件选项:

     

     

    至此,python升级完成

     

    参考:http://blog.sina.com.cn/s/blog_53f023270102vdvo.html

    参考:https://blog.csdn.net/jiangshan35/article/details/69568271 

    参考:https://www.cnblogs.com/eleganthua/p/9406968.html   

    总结:python 升级;默认调用改为升级后的Python;但是,yum不能配套使用升级后的Python,yum 改为默认路径为老的Python包路径;

  • 相关阅读:
    Redis 如何与数据库事务保持一致
    QQ、微信 唯一登陆设计
    Node.js Sequelize如何实现数据库的读写分离
    node.js web应用优化之读写分离
    在docker中使用mysql数据库,在局域网访问
    docker常用管理命令
    基于 Egg.js 框架的 Node.js 服务构建之用户管理设计
    使用mousedown、mousemove、mouseup实现拖拽效果
    VUE中事件修饰符:stop prevent self capture
    基于jsplumb插件制作可拖拽、保存流程图、重绘保存后的流程图总结
  • 原文地址:https://www.cnblogs.com/Formulate0303/p/11121562.html
Copyright © 2011-2022 走看看