如何从Homebrew重新安装python @ 2?

发布于 2021-01-29 18:37:01

。已记录的重新安装Python和openssl的解决方法不起作用,因此我决定卸载并重新安装Python。

问题是,当您尝试通过brew安装Python 2时,会收到以下消息:

brew install python@2
Error: No available formula with the name "python@2"
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

python@2 was deleted from homebrew/core in commit 028f11f9e:
  python@2: delete (https://github.com/Homebrew/homebrew-core/issues/49796)
  EOL 1 January 2020.
  We gave it 1 month more to live so that people had time to migrate.
  All in all, developers had 11 years to do their migration.
  You can use the `brew extract` command and maintain python@2 in your own
  tap if necessary:
  https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap

To show the formula before removal run:
  git -C "$(brew --repo homebrew/core)" show 028f11f9e^:Formula/python@2.rb

If you still use this formula consider creating your own tap:
  https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap

不幸的是,我仍然有许多取决于Brew的python @ 2的brew公式。这些包括awscliletsencrypt,PRsshuttle例如

aws
zsh: /usr/local/bin/aws: bad interpreter: /usr/local/opt/python@2/bin/python2.7: no such file or directory

我不知道如何使用brew extract他们记录的命令重新安装Python @
2。它需要一个公式和一个水龙头。我想公式会是python@2。我不确定水龙头将是什么。

另外,重新安装水龙头,例如awsletsencrypt效果也不佳。

重新安装awsclibrew reinstall awscli)后,运行aws命令仍然会出现错误。

aws
/usr/local/Cellar/awscli/2.0.0/libexec/lib/python3.8/site-packages/jmespath/visitor.py:32: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if x is 0 or x is 1:
/usr/local/Cellar/awscli/2.0.0/libexec/lib/python3.8/site-packages/jmespath/visitor.py:32: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if x is 0 or x is 1:
/usr/local/Cellar/awscli/2.0.0/libexec/lib/python3.8/site-packages/jmespath/visitor.py:34: SyntaxWarning: "is" with a literal. Did you mean "=="?
  elif y is 0 or y is 1:
/usr/local/Cellar/awscli/2.0.0/libexec/lib/python3.8/site-packages/jmespath/visitor.py:34: SyntaxWarning: "is" with a literal. Did you mean "=="?
  elif y is 0 or y is 1:
/usr/local/Cellar/awscli/2.0.0/libexec/lib/python3.8/site-packages/jmespath/visitor.py:260: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if original_result is 0:
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help
aws: error: the following arguments are required: command
关注者
0
被浏览
214
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    看来,自制软件的工作人员确实使尽可能多地在macOS上使用Python 2.7变得非常困难。

    1. 链接的brew extract链接确实没有帮助,您需要在此处查找有关如何从提取的资源中进行自己的点击的答案。
    2. 链接的提交:028f11f9e错误,因为它包含已删除的文件。
    3. 由于包名称中的@,该brew extract命令甚至无法正常工作

    但是,该解决方案非常简单,您只需下载最新的已知提交并从该文件进行安装:

    cd ~
    wget https://raw.githubusercontent.com/Homebrew/homebrew-core/86a44a0a552c673a05f11018459c9f5faae3becc/Formula/python@2.rb
    brew install python@2.rb
    rm python@2.rb
    

    可能会有关于“不稳定”的警告,我不明白,因为Git历史记录中的提交是尽可能稳定的。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看