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

2011-11-09 15:46:16 +08:00
 linode
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 依然是旧版,请问如何更新这个路径下的版本?
5885 次点击
所在节点    Python
8 条回复
chenluois
2011-11-09 16:05:51 +08:00
也许
PATH="/Library/Frameworks/Python.framework/Versions/2.6.7/bin:${PATH}" ?

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

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

@chenluois 返回的是 2.6.6
Livid
2011-11-09 16:50:54 +08:00
最好是通过 MacPorts 来安装和管理 Python,这样的话你可以通过 port select 来选择当前的活跃版本。
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
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 也提示一样的错误。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/21089

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX