Brew - réinstallation de python @ 2

14

J'ai eu des problèmes avec openssl et python @ 2 avec brew, qui ont expliqué ici (non résolus) . La solution de contournement documentée pour réinstaller Python et openssl ne fonctionnait pas, j'ai donc décidé de désinstaller et réinstaller Python.

Le problème est que lorsque vous essayez d'installer Python 2 avec brew, vous recevez ce message:

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

Malheureusement, j'ai encore un certain nombre de formules de brassage qui dépendent du python de Brew @ 2. Ceux-ci comprennent awscli, par exemple letsencrypt, prsshuttle

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

Je ne sais pas comment utiliser cette brew extractcommande qu'ils ont documentée pour réinstaller Python @ 2. Il a besoin d'une formule et d'un robinet. J'imagine que la formule serait python@2. Je ne suis pas sûr de ce que le robinet devrait être.

De plus, la réinstallation des robinets tels que awsou letsencryptne fonctionne pas très bien non plus.

Après la réinstallation de awscli( brew reinstall awscli), l'exécution des commandes aws donne toujours des erreurs.

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
la source

Réponses:

54

Il semble que le personnel homebrew rende le plus difficile possible l'utilisation de Python 2.7 sur macOS.

  1. Le brew extractlien lié n'est vraiment pas utile, vous devez chercher ici des réponses sur la façon de créer votre propre robinet à partir de sources extraites.
  2. La validation liée: 028f11f9e est incorrecte, car elle contient le fichier déjà supprimé.
  3. La brew extractcommande ne fonctionne même pas correctement , à cause du @ dans le nom du package.

La solution est cependant très simple, il vous suffit d'installer à partir du dernier commit connu:

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

Il y a un avertissement à propos de ce qui est "instable", ce que je ne comprends pas car un commit dans un historique Git est aussi stable que possible.

hyperknot
la source
1
Juste en mettant le lien vers le PR ici, où python @ 2 a été supprimé (fusionné le 4 février 2020) github.com/Homebrew/homebrew-core/pull/49796
petschki
@petschki pas la réponse que nous avons demandée, mais la réponse que nous voulions savoir!
ThinkBonobo