gpt4 book ai didi

python - OS X - 多个 python 版本、PATH 和/usr/local

转载 作者:太空狗 更新时间:2023-10-30 01:10:38 26 4
gpt4 key购买 nike

如果你安装了多个版本的 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/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 时:一堆符号链接(symbolic link)被添加到 /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被创建并添加到路径的前面,所以 which python会在那里得到 python ,还有#! /usr/bin/env python shebang 将正确运行。

最佳答案

没有先验保证/usr/local/bin 会保留在 PATH 上(特别是它不一定会保留在/usr/bin 的“前面!-”),因此安装程序确保特别需要的/Library/.../bin 目录确实进入了 PATH。另外,/Library/.../bin 可能有一些补充内容没有符号链接(symbolic link)到/usr/local/bin,尽管我相信最近的 Python Mac 标准发行版目前不是这种情况。

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

关于python - OS X - 多个 python 版本、PATH 和/usr/local,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1383863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com