V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
shyrock
V2EX  ›  Linux

CentOS 升级 python 怎么弄?

  •  
  •   shyrock · Apr 18, 2014 · 6205 views
    This topic created in 4399 days ago, the information mentioned may be changed or developed.
    CentOS6.5默认的python是2.6,升级2.7.6后,修改系统默认python指向2.7.6。结果系统各种不服,先是yum用不了,改了yum头指向旧版本后解决。
    接着输入法弹不出im-chooser,一查又是python版本不对。。。

    我估摸着没看见的地方还有无数需要修改指向旧版本python的地方,求高手指点怎么才能升级centos的python又不影响系统功能?
    28 replies    1970-01-01 08:00:00 +08:00
    ovalley
        1
    ovalley  
       Apr 18, 2014
    这是个坑,建议换成ubuntu
    wuxqing
        2
    wuxqing  
       Apr 18, 2014   ❤️ 1
    我是单独安装python2.7.6到/opt下面,然后配合virtualenv使用
    ehs2013
        3
    ehs2013  
       Apr 18, 2014   ❤️ 2
    use `make altinstall` instead of `make install`
    halfbloodrock
        4
    halfbloodrock  
       Apr 18, 2014
    如果你是因为开发要引入多个Python的版本的话,单独安装到某个目录然后导入$PATH,不要随意改系统默认的Python。。。
    skyworker
        5
    skyworker  
       Apr 19, 2014 via Android
    用Debian系的OS
    0bit
        6
    0bit  
       Apr 19, 2014
    可以用pyenv来管理多个不同的python版本
    gaicitadie
        7
    gaicitadie  
       Apr 19, 2014
    linux自带python,是优点也是缺点。不像ruby,想装哪个版本装哪个版本
    shyrock
        8
    shyrock  
    OP
       Apr 19, 2014
    @ovalley ubuntu的内置python是2.7?
    @wuxqing 哦,学习一下virtualenv怎么用。。。
    @ehs2013 这样做的效果是?系统程序继续2.6?我用2.7的时候怎么办呢?
    ehs2013
        9
    ehs2013  
       Apr 19, 2014   ❤️ 1
    @shyrock 不把 python 软连接到 python2.7
    用 2.7 的时候直接 python2.7
    shyrock
        10
    shyrock  
    OP
       Apr 19, 2014
    @halfbloodrock 是说系统的继续保留python指向2.6。自己开发使用的时候显式指定2.7?
    @skyworker Debian没有这个问题?原因是什么?
    @0bit 意思是用pyenv切换开发用python版本,同时系统python不变是吧?
    @gaicitadie 哎,就是因为windows下面python编译报告vc环境问题很难解决所以才尝试linux,没想到也不轻松。。。
    shyrock
        11
    shyrock  
    OP
       Apr 19, 2014
    @ehs2013 明白意思了。。。
    echo1937
        12
    echo1937  
       Apr 19, 2014
    在这个方面,ruby比python先进太多了.

    rvm好东西.
    gaicitadie
        13
    gaicitadie  
       Apr 19, 2014
    @shyrock windows下面不用编译啊,activepython直接安装,非常好用
    kodango
        14
    kodango  
       Apr 19, 2014   ❤️ 2
    我印象中 yum 是写死用 /usr/bin/python 的,所以你只要安装一个 python 不要覆盖这个路径就可以,比如安装到 /usr/local/bin 目录下,同事保证 /usr/local/bin 在 PATH 中位于 /usr/bin 之前,这样就没问题了。
    jiang42
        15
    jiang42  
       Apr 19, 2014
    这是个坑,换FreeBSD就好了
    simaoji
        16
    simaoji  
       Apr 19, 2014
    两个都保留着吧
    Comphuse
        17
    Comphuse  
       Apr 19, 2014
    SCL
    anheiyouxia
        18
    anheiyouxia  
       Apr 19, 2014 via Android
    我忘记我怎么搞的了
    也是centos
    python -V
    是2.7,yum也能正常运行,之前就是因为替换了系统自带的后yum用不了,上网找解决方案找到的,但现在似乎找不到这篇东西了
    nervouna
        19
    nervouna  
       Apr 19, 2014
    virtualenv 不行吗?
    yakczh
        20
    yakczh  
       Apr 19, 2014
    centos5.8是python2.4 因为要装nodejs 换成python2.7也是很多坑
    yemoluo
        21
    yemoluo  
       Apr 19, 2014
    哪里不能用就改变哪里的!/usr/bin/env python
    wangfeng3769
        22
    wangfeng3769  
       Apr 19, 2014
    #yum
    sed -i '1s/#!\/usr\/bin\/python$/#!\/usr\/bin\/python2.4/' /usr/bin/yum
    wangfeng3769
        23
    wangfeng3769  
       Apr 19, 2014
    只要把yum的具体版本具体依赖设定好就行了。
    ksc010
        24
    ksc010  
       Apr 19, 2014
    开发用的话 通过virtualenv就行
    P9
        25
    P9  
       Apr 19, 2014
    @wuxqing 就是这个方法。 还有好用的virtualenvwrapper
    Suanlatang
        26
    Suanlatang  
       Apr 19, 2014 via iPhone
    。。。我给你说正确的办法吧

    whereis python

    python: /usr/bin/python /usr/bin/python2.4 /usr/lib/python2.4 /usr/local/bin/python2.7-config /usr/local/bin/python /usr/local/bin/python2.7 /usr/local/lib/python2.7 /usr/include/python2.4 /usr/share/man/man1/python.1.gz

    手动修改/usr/bin/yum脚本头部
    将#!/usr/bin/python改成#!/usr/bin/python2.4

    备注,显示出来版本是多少就修改成多少


    好用点个感谢吧
    VYSE
        27
    VYSE  
       Apr 19, 2014 via Android   ❤️ 1
    从来就不是坑,编译后放在opt或home目录,bashrc修改PATH,PYTHONPATH,alias sudo,yum从来没因为python27坏过。坏过原因只有一次,PATH某目录里有高版本zlib。
    至于用Py3,只使用python3即可
    shyrock
        28
    shyrock  
    OP
       Apr 19, 2014
    @gaicitadie 我在windows下安全numpy的时候,告诉我找不到vc环境。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   736 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 111ms · UTC 21:15 · PVG 05:15 · LAX 14:15 · JFK 17:15
    ♥ Do have faith in what you're doing.