Python 如何使用Brew安装旧的公式?

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

以安装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 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
    或您需要的任何版本号。