Bia - cài đặt lại python @ 2


14

Tôi đã gặp vấn đề với openssl và python @ 2 với brew, điều này đã giải thích ở đây (chưa được giải quyết) . Cách giải quyết được ghi lại để cài đặt lại Python và openssl không hoạt động, vì vậy tôi quyết định tôi sẽ gỡ cài đặt và cài đặt lại Python.

Vấn đề là, khi bạn cố gắng cài đặt Python 2 với brew, bạn sẽ nhận được thông báo này:

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

Thật không may, tôi vẫn còn một số công thức sản xuất bia phụ thuộc vào trăn bia của @ @ 2. Những người bao gồm awscli, ví dụ letsencryptprsshuttle

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

Tôi không biết cách sử dụng brew extractlệnh này mà họ đã ghi lại để cài đặt lại Python @ 2. Nó cần một công thức và một vòi. Tôi tưởng tượng công thức sẽ là python@2. Tôi không chắc chắn những gì vòi sẽ cần phải được.

Ngoài ra, cài đặt lại các vòi như awshoặc letsencryptkhông hoạt động tốt.

Sau khi cài đặt lại awscli( brew reinstall awscli), chạy các lệnh aws vẫn báo lỗi.

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

Câu trả lời:


54

Có vẻ như các nhân viên homebrew thực sự làm cho việc sử dụng Python 2.7 trên macOS trở nên khó khăn nhất có thể.

  1. Liên kết được liên brew extractkết thực sự không hữu ích, bạn cần tìm câu trả lời ở đây về cách tạo vòi của riêng bạn từ các nguồn được trích xuất.
  2. Cam kết được liên kết: 028f11f9e là sai, vì nó chứa tệp đã bị xóa.
  3. Các brew extractlệnh thậm chí không hoạt động chính xác , vì @ trong tên gói.

Tuy nhiên, giải pháp rất đơn giản, bạn chỉ cần cài đặt từ cam kết mới nhất đã biết:

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

Có một cảnh báo về điều này là "không ổn định", điều mà tôi không hiểu là một cam kết trong lịch sử Git ổn định như bạn có thể nhận được.


1
Chỉ cần đặt liên kết đến PR ở đây, nơi python @ 2 đã bị xóa (sáp nhập vào ngày 4 tháng 2 năm 2020) github.com/Homebrew/homebrew-core/pull/49796
petchki

@petschki không phải là câu trả lời chúng tôi yêu cầu, mà là câu trả lời chúng tôi muốn biết!
ThinkBonobo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.