【发布时间】:2010-11-25 21:55:09
【问题描述】:
如果你安装了多个版本的python(我目前有默认2.5,安装了3.0.1,现在安装了2.6.2),它会自动将东西放入/usr/local,它还会调整路径以包含@987654322 @,但是当 /usr/local 已经在 PATH 上,并且所有已安装的版本(除了默认的 2.5,在 /usr/bin 中)都在那里时,这有什么意义呢?我从.bash_profile 的PATH 中删除了python 框架路径,我仍然可以输入"python -V" => "Python 2.5.1"、"python2.6 -V" => "Python 2.6.2"、"python3 -V" => "Python 3.0.1"。只是想知道为什么将它放在/usr/local 中,并且还更改了 PATH。我做的好吗?谢谢。
此外,2.6 安装使它成为“当前”安装,.../Python.framework/Versions/Current 指向 2.6。所以/usr/local/bin 中的简单“python”内容指向 2.6,但这没关系,因为 usr/bin 来了首先,里面同名的东西指向2.5的东西。反正2.5自带leopard,我安装3.0.1只是为了有最新版本(有一个dmg文件),现在我安装了2.6.2以供使用使用 pygame。
编辑:好的,这就是我的理解。例如,当您安装 Python 2.6.2 时:
在/usr/local/bin 中添加了一堆符号链接,因此当python 脚本中有#! /usr/local/bin/python shebang 时,它将运行,而在/Applications/Python 2.6 中,Python Launcher 成为默认应用程序来运行.py 文件,它使用@ 987654336@ 和/Library/Frameworks/Python.framework/Versions/2.6/bin 被创建并添加到路径的前面,所以which python 将在那里获取python,并且#! /usr/bin/env python shebang 也将正常运行。
【问题讨论】:
-
python 的 virtualenv 包呢?这似乎是在一台机器上安装多个 python 的一种相当流行的方式。其他用户在他们的 os x 机器上做过吗?
标签: python macos path multiple-versions