V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
linode
V2EX  ›  Python

为什么 Mac 下源码安装 python 但命令行读取的仍然是旧版本

  •  
  •   linode · 2011-11-09 15:46:16 +08:00 · 6015 次点击
    这是一个创建于 4761 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Mac OS X Lion 下,原先用官方的 dmg 安装了 2.6.6 版本
    官方放出了 2.6.7 http://www.python.org/download/releases/2.6.7/ ,但是只给出了源码包
    通过命令安装:
    1)./configure
    2)make
    3)sudo make install
    python 自动装在 /usr/local 中

    之后删除 /usr/bin 中旧的 python 符号链接:
    cd /usr/bin/
    sudo rm python pydoc pythonw

    再建立新的符号链接:
    sudo ln -s /usr/local/bin/python /usr/bin/python
    sudo ln -s /usr/local/bin/pydoc /usr/bin/pydoc
    sudo ln -s /usr/local/bin/pythonw /usr/bin/pythonw

    最后在终端中输入 python -V 发现仍然是旧的 2.6.6 版本

    紧接着打开 ~/.bash_profile 发现内容如下:
    PATH="/Library/Frameworks/Python.framework/Versions/2.6/bin:${PATH}"
    export PATH

    /Library/Frameworks/Python.framework/Versions/2.6/bin 目录下的 python 依然是旧版,请问如何更新这个路径下的版本?
    8 条回复    1970-01-01 08:00:00 +08:00
    chenluois
        1
    chenluois  
       2011-11-09 16:05:51 +08:00
    也许
    PATH="/Library/Frameworks/Python.framework/Versions/2.6.7/bin:${PATH}" ?

    另外最新版不都 3.2.2 了么。
    linode
        2
    linode  
    OP
       2011-11-09 16:17:26 +08:00
    @chenluois 这个路径下只有 2.6 和一个指向 2.6 的 current 链接

    还没用到 3.*,只想更新好 2.6.*
    doyle
        3
    doyle  
       2011-11-09 16:35:48 +08:00
    PATH="/usr/local/bin:${PATH}" ? 或者把/Library/Frameworks/Python.framework/Versions/2.6.7/bin:去掉就行了吧
    chenluois
        4
    chenluois  
       2011-11-09 16:42:12 +08:00
    用 python2.6 -V 返回的版本号是 2.6.6 还是 2.6.7 呢?
    linode
        5
    linode  
    OP
       2011-11-09 16:49:38 +08:00
    @doyle 这个样子可以,但是这样 Python.framework/Versions/2.6 还是不能删除,否则 pydoc 什么的都用不了

    @chenluois 返回的是 2.6.6
    Livid
        6
    Livid  
    MOD
       2011-11-09 16:50:54 +08:00
    最好是通过 MacPorts 来安装和管理 Python,这样的话你可以通过 port select 来选择当前的活跃版本。
    doyle
        7
    doyle  
       2011-11-09 17:06:56 +08:00
    @linode 呃,那把PATH="${PATH}:/Library/Frameworks/Python.framework/Versions/2.6/bin" 试试?pydoc为啥启动不了?你是不是缺少某个库?直接执行/usr/bin/pydoc不行吗?
    linode
        8
    linode  
    OP
       2011-11-09 17:22:32 +08:00
    @doyle

    把PATH="${PATH}:/Library/Frameworks/Python.framework/Versions/2.6/bin" python -V 返回的版本还是 2.6.6

    如果移除 /Library/Frameworks/Python.framework/Versions/2.6/ 这个目录,pydoc 就启动不了,提示
    -bash: /usr/bin/pydoc: /Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6: bad interpreter: No such file or directory
    直接执行 /usr/bin/pydoc 也提示一样的错误。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1002 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:16 · PVG 06:16 · LAX 14:16 · JFK 17:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.