Brew - Python @ 2 neu installieren

14

Ich hatte Probleme mit openssl und Python @ 2 mit Brew, die hier erklärt wurden (ungelöst) . Die dokumentierte Problemumgehung zum erneuten Installieren von Python und openssl funktionierte nicht. Daher habe ich beschlossen, Python zu deinstallieren und neu zu installieren.

Das Problem ist, wenn Sie versuchen, Python 2 mit Brew zu installieren, erhalten Sie folgende Meldung:

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

Leider habe ich immer noch eine Reihe von Brühformeln, die von Brews Python @ 2 abhängen. Die schließen awscli, letsencryptpr sshuttlebeispiels

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

Ich weiß nicht, wie ich diesen von brew extractihnen dokumentierten Befehl verwenden soll, um Python @ 2 neu zu installieren. Es braucht eine Formel und einen Tipp. Ich stelle mir die Formel vor python@2. Ich bin mir nicht sicher, was der Wasserhahn sein müsste.

Zusätzlich funktioniert die Neuinstallation der Abgriffe wie awsoder letsencryptfunktioniert auch nicht sehr gut.

Nach der Neuinstallation von awscli( brew reinstall awscli) führt das Ausführen von aws-Befehlen immer noch zu Fehlern.

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
Pauline
quelle

Antworten:

54

Es scheint, dass die Homebrew-Mitarbeiter es wirklich so schwierig wie möglich machen, Python 2.7 unter macOS zu verwenden, wie sie können.

  1. Der verlinkte brew extractLink ist wirklich nicht hilfreich. Sie müssen hier nach Antworten suchen, wie Sie aus extrahierten Quellen Ihren eigenen Tipp erstellen können.
  2. Das verknüpfte Commit: 028f11f9e ist falsch, da es die bereits gelöschte Datei enthält.
  3. Der brew extractBefehl funktioniert aufgrund des @ im Paketnamen nicht einmal richtig .

Die Lösung ist jedoch sehr einfach. Sie müssen lediglich das neueste bekannte Commit installieren:

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

Es gibt eine Warnung, dass dies "instabil" ist, was ich nicht verstehe, da ein Commit in einem Git-Verlauf so stabil wie möglich ist.

Hyperknoten
quelle
1
Setzen Sie einfach den Link zur PR hier, wo Python @ 2 entfernt wurde (zusammengeführt am 4. Februar 2020). Github.com/Homebrew/homebrew-core/pull/49796
petschki
@petschki nicht die Antwort, nach der wir gefragt haben, sondern die Antwort, die wir wissen wollten!
ThinkBonobo