Brew - перевстановлення python @ 2


14

У мене виникли проблеми з openssl та python @ 2 з brew, які тут пояснили (не вирішено) . Задокументоване рішення щодо перевстановлення Python та openssl не працює, тому я вирішив видалити та перевстановити Python.

Проблема полягає в тому, що при спробі встановити Python 2 з brew, ви отримуєте це повідомлення:

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 @ 2. Вони включають в себе awscli, letsencrypt, пр sshuttle, наприклад ,

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. Я не впевнений, яким повинен бути кран.

Крім того, перевстановлення кранів, таких як awsабо letsencryptне працює дуже добре.

Після перевстановлення awscli( brew 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

Відповіді:


54

Здається, що домашній персонал дійсно робить це максимально важким для використання Python 2.7 на macOS, наскільки це можливо.

  1. Пов’язане brew extractпосилання насправді не корисне, тут потрібно шукати відповіді про те, як зробити власний кран із видобутих джерел.
  2. Пов’язана комісія: 028f11f9e помилкова, оскільки містить уже видалений файл.
  3. brew extractКоманда навіть не працює правильно , через @ в імені пакету.

Однак рішення дуже просте, вам просто потрібно встановити з останніх відомих комітів:

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

Існує попередження про те, що це "нестабільно", що я не розумію, як фіксація в історії Git настільки стабільна, наскільки ви можете отримати.


1
Просто поклавши посилання на піар тут, де python @ 2 був видалений (злився 4 лютого 2020 року) github.com/Homebrew/homebrew-core/pull/49796
petschki

@petschki не відповідь, яку ми просили, а відповідь, яку ми хотіли знати!
ThinkBonobo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.