Python 如何使用Brew安装旧的公式?
以安装Python 2.7.9而不是最新的2.7.10为例,以前我可以简单地使用Python 如何使用Brew安装旧的公式?,python,homebrew,Python,Homebrew,以安装Python 2.7.9而不是最新的2.7.10为例,以前我可以简单地使用brew版本Python,通过brew中的提交SHA查看Python公式的所有版本,然后检查它们以安装特定版本。这是brew版本python输出的一个示例: $ brew versions python Warning: brew-versions is unsupported and will be removed soon. You should use the homebrew-versions tap ins
brew版本Python
,通过brew中的提交SHA查看Python公式的所有版本,然后检查它们以安装特定版本。这是brew版本python
输出的一个示例:
$ brew versions python
Warning: brew-versions is unsupported and will be removed soon.
You should use the homebrew-versions tap instead:
https://github.com/Homebrew/homebrew-versions
2.7.9 git checkout 667284f /usr/local/Library/Formula/python.rb
2.7.8 git checkout f26ca5c /usr/local/Library/Formula/python.rb
2.7.7 git checkout d48206e /usr/local/Library/Formula/python.rb
2.7.6 git checkout 3c64184 /usr/local/Library/Formula/python.rb
2.7.5 git checkout a04b443 /usr/local/Library/Formula/python.rb
2.7.3 git checkout 865f763 /usr/local/Library/Formula/python.rb
2.7.4 git checkout 280581d /usr/local/Library/Formula/python.rb
2.7.2 git checkout 97c6869 /usr/local/Library/Formula/python.rb
2.7.1 git checkout 83ed494 /usr/local/Library/Formula/python.rb
2.7 git checkout 1bf3552 /usr/local/Library/Formula/python.rb
2.6.5 git checkout acd49f7 /usr/local/Library/Formula/python.rb
2.6.4 git checkout 843bff9 /usr/local/Library/Formula/python.rb
2.6.3 git checkout 5c6cc64 /usr/local/Library/Formula/python.rb
但是brew的最新版本已经取消了对版本的支持,我不知道如何使用安装以前的Python。如何实际安装Python2.7.9而不是更新的2.7.10
我想知道如何使用自制版本
,而不是更简单的brew版本
使用brew版本
我可以很容易地看到该特定公式中的所有版本(看看上面由brew版本Python
给出的Python版本)。从目前来看,没有明确的方法可以达到与python的brew版本相同的结果 自制版本过去是实现这一点的最简单方法,但自制版本已被弃用,在当前版本的自制中不再可用
要查找可用的版本,请使用以下命令:
brew search python
列出所有可用的python包,这些包将显示像python@2
然后您可以使用以下方法安装它们:
brew install python@2
一些替代方法
切换到以前的版本
如果您已经安装了较旧版本的公式,但尚未将其删除,则可以使用brew命令简单地切换符号链接以引用该公式
brew switch python 2.7.9
此命令会将您切换到版本2.7.9
brew switch python 2.7.10
这会将您切换回版本2.7.10
公式GitHub历史
如果您的系统上仍然没有旧版本,您可以尝试另一种方法,但它更困难,而且几乎肯定不受自制软件的支持,因此如果您最终遇到问题,您可能无法依赖他们的帮助
https://github.com/Homebrew/homebrew-core/commits/master/Formul/.rb
应带您进入该公式的提交历史记录。对于安装python 2.7.9的示例,您将执行以下操作:
转到https://github.com/Homebrew/homebrew-core/commits/master/Formula/python.rb
查找包含“Python2.7.10”提交摘要的条目
查找并复制其下方条目的提交哈希(本例中为1681e19
)
将git checkout 1681e19/usr/local/Homebrew/Library/Taps/Homebrew/Homebrew core/Formula/python.rb输入终端
从这一点开始,您将使用old-versions方法安装python的旧版本。这似乎是旧方法所做的一切。Homebrew不支持安装git历史记录中的公式,尽管这是可能的。自制版本中没有python*公式,因为我认为它们需要大量的维护工作,不能提供最佳的用户体验。是一个很好的工具,可以解决很多和保持多个python相关的问题。对于较旧的Python版本,还有一个新的解决方案;如果您想使用brew(家用brew)安装特定的python版本,可以在那里提供一个2.7.9公式。
示例:我正在尝试安装python 3.7,目前的python是python 3.8
brew安装python@3.7
——这将使我安装python 3.7
brew安装python
——这将使我在撰写此评论时安装python的当前版本python 3.8。您的问题是“如何使用自制版本
”?如果是,您是否尝试过使用?你到底在哪里被卡住了?如果不是,那是什么?我已经认为会有这样的答案:D。将修改这个问题是一个非常类似的问题。第一条评论有一个死链接。请更新一下!我还玩过git checkout。但我希望有一个更“官方”的方式来做到这一点。一旦我测试了这个,我就会报告,但我已经接受了这个答案:如何在结帐后将回购恢复到以前的状态git签出头
?因为它只是一个git存储库,所以我相信它应该可以工作。它对您不起作用吗?恐怕我得到了:“错误:自制/版本已弃用”错误。太糟糕了,这似乎是一个获取旧版本的好方法。实际上我还没有尝试过上面的答案。但是,是的,我在历史上找不到Python2.7.9。实际上,我对pyenv有问题:使用PyInstaller会导致这里描述的macholib错误:这与使用Python2.7.9二进制文件是一样的。orgI使用了,它为我工作。它确实缺少2.7.9的公式,但自述中有一个小指南。我必须使用3.5而不是3.6:)来指定答案,请使用以下命令:brew install pyenv
然后pyenv install 2.7.9
或您需要的任何版本号。