mk1*_*k12 5 python macos path multiple-versions
如果你安装了多个版本的python(我目前有默认的2.5,安装了3.0.1,现在已经安装了2.6.2),它会自动放入内容/usr/local,并且还会调整路径以包含/Library/Frameworks/Python/Versions/theVersion/bin,但最重要的是什么时候/usr/local已经在PATH上了,所有已安装的版本(默认的2.5除外/usr/bin)都在那里?我删除了Python框架的路径从我的PATH中.bash_profile,我仍然可以输入"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.所以简单的'python'事情/usr/local/bin指向2.6,但它没关系,因为usr/bin第一个和同名的东西指向2.5东西..无论如何,2.5附带豹子,我安装3.0.1只是为了拥有最新版本(有一个dmg文件),现在我安装了2.6.2与pygame一起使用.
编辑:好的,这是我理解的方式.安装时,比方说,Python 2.6.2:添加了一堆符号链接/usr/local/bin,所以当#! /usr/local/bin/pythonpython脚本中有一个shebang时,它会运行,并且在/Applications/Python 2.6Python启动器中,默认应用程序运行.py文件,使用/usr/local/bin/pythonw,并/Library/Frameworks/Python.framework/Versions/2.6/bin创建并添加到路径的前面,因此which python将在那里获得python,并且#! /usr/bin/env pythonshebang将正确运行.
没有事先保证/ usr/local/bin将保留在PATH上(特别是它不一定会留在"/ usr/bin! - "前面),因此安装人员确保特别需要/是完全合理的Library /.../ bin目录确实在PATH上运行.另外,可能是/Library/.../bin有补充内容没有符号链接到/ usr/local/bin的情况,尽管我认为最近的Mac标准发行版目前不是这种情况.
如果你知道你将安排你的路径的方式,以及你将使用的确切的可执行文件集,从/ usr/local/bin完全满意,那么你可以删除/ Library/etc目录当然,从你自己的道路.