编程语言
首页 > 编程语言> > OS X – 多个python版本,PATH和/usr/local

OS X – 多个python版本,PATH和/usr/local

作者:互联网

如果您安装了多个版本的python(我目前有默认的2.5,安装了3.0.1,现在安装了2.6.2),它会自动将内容放入/usr/local,它还会调整路径以包含/ Library / Frameworks / Python / Versions / theVersion / bin,但是当/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 /当前指向2.6.,因此/usr/local/bin中的普通’python’事物指向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 / python shebang在python脚本中,它将运行,在/ Applications / Python 2.6中,Python Launcher成为运行.py文件的默认应用程序,它使用/usr/local/bin / pythonw,和/Library/Frameworks/Python.framework/Versions/2.6/bin被创建并添加到路径的前面,所以python将在那里获得python,还有#! /usr/bin/env python shebang将正确运行.

解决方法:

没有事先保证/usr/local/bin将保留在PATH上(特别是它不一定会留在“/usr/bin! – ”前面),因此安装人员确保特别需要/是完全合理的Library /…/ bin目录确实在PATH上运行.另外,可能是/Library/…/bin有补充内容没有符号链接到/usr/local/bin的情况,尽管我认为最近的Mac标准发行版目前不是这种情况.

如果你知道你将安排你的路径的方式,以及你将使用的确切的可执行文件集,从/usr/local/bin完全满意,那么你可以删除/ Library / etc目录当然,从你自己的道路.

标签:python,path,macos,multiple-versions
来源: https://codeday.me/bug/20190522/1151643.html