ブリュー-python @ 2の再インストール


14

私はopensslとbrewのpython @ 2で問題を抱えていますが、それらはここで説明されています(未解決)。Pythonとopensslを再インストールするための文書化された回避策が機能しなかったため、Pythonをアンインストールして再インストールすることにしました。

問題は、brewでPython 2をインストールしようとすると、次のメッセージが表示されることです。

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のpython @ 2に依存するいくつかのbrew式を持っています。ものを含むawscliletsencrypt、PR 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いずれかの非常にうまく機能していません。

再インストール後awsclibrew 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

自作のスタッフは、macOSでPython 2.7をできるだけ使用することを本当に難しくしているようです。

  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が削除されたPRへのリンクをここに置くだけです(2020年2月4
マージ

@petschkiは私たちが求めた答えではなく、知りたかった答えです!
ThinkBonobo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.