Brew - Python @ 2'yi Yeniden Yükleme


14

Burada açıklanmış (çözülmemiş) demlemek ile openssl ve python @ 2 ile sorunları yaşıyorum . Python ve openssl'i yeniden yüklemek için belgelenmiş geçici çözüm çalışmıyor, bu yüzden Python'u kaldırıp yeniden yüklemeye karar verdim.

Sorun, Python 2'yi demleme ile kurmaya çalıştığınızda şu mesajı alırsınız:

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

Ne yazık ki hala Brew'in python @ 2 bağlıdır demlemek bir dizi demlemek formülleri var. Bunlar arasında awscli, örneğin letsencrypt, prsshuttle

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

brew extractPython @ 2'yi yeniden yüklemek için belgeledikleri bu komutu nasıl kullanacağımı bilmiyorum . Bir formül ve bir musluk gerekir. Formülün olacağını hayal ediyorum python@2. Musluğun ne olması gerektiğinden emin değilim.

Ayrıca awsveya gibi musluklar yeniden letsencryptçok iyi çalışmıyor.

awscli( brew reinstall awscli) Yeniden yüklendikten sonra , aws komutlarını çalıştırmak hala hata veriyor.

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

Yanıtlar:


54

Homebrew personeli macOS'ta Python 2.7'yi olabildiğince zorlaştırıyor gibi görünüyor.

  1. Bağlantılı brew extractlink gerçekten yararlı değil, çıkarılan kaynaklardan kendi dokunuşunuzu nasıl yapacağınızla ilgili cevapları aramanız gerekiyor.
  2. Bağlı komut: 028f11f9e, zaten silinmiş dosyayı içerdiğinden yanlış.
  3. brew extractKomut bile düzgün çalışmıyor çünkü paket adına @ 'ın,.

Ancak çözüm çok basit, bilinen en son işlemden yüklemeniz gerekiyor:

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

Bu Git kararında bir taahhüt olarak alabileceğiniz kadar kararlı olarak anlamıyorum "kararsız" hakkında bir uyarı var.


1
Python @ 2'nin kaldırıldığı (4 Şubat 2020'de birleştirildi) PR'ye
petschki

@petschki istediğimiz cevabı değil, bilmek istediğimiz cevabı!
ThinkBonobo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.