macOS 10.15 で python3 が壊れた

2019/12/13 13:26:032019/12/14 12:32:30

日記に書こうかと思ったけど日記にしては逸れすぎなのでこっちに書くことにした。

macOS 10.15 (10.15.1-10.15.2) にあげたあとに brew で httpie 入れようとして、流れてるログで python が入れられてることに気付き、じゃあこれ pip でいいじゃんと思って brew コマンドを中断したところ python が壊れてしまった。
crashlog
Application Specific Information: 
  /usr/lib/libcrypto.dylib 
  abort() called 
  Invalid dylib load. Clients should not load the unversioned libcrypto dylib as it does not have a stable ABI.
どうやら crypto 関連の dylib がダメみたい。
調べたところこんな記事が出てきた。
閲覧時では 42 の Upvote を受けてるベストアンサーの DYLD_LIBRARY_PATH に brew 版 openssl の lib を追加するやつでもまあ治るっちゃ治るのだが、なんか心もとないので2つ目の手法を試す。
  • 心もとないというのはシェル以外でちゃんと効くのかというやつですね

  • openssl 版の libssl.dyliblibcrypto.dylib/usr/local/bin にシンボリックリンクする。
  • brew install openssl
  • /usr/local/bin に行く。
  • ll | grep libssl ll | grep libcrypto して無いことを確認する。
  • sudo ln -s /usr/local/Cellar/openssl/1.0.2s/lib/libcrypto.1.0.0.dylib libcrypto.1.0.0.dylib
  • sudo ln -s /usr/local/Cellar/openssl/1.0.2s/lib/libssl.1.0.0.dylib libssl.1.0.0.dylib
  • 1.0.2.s あたりはそりゃ各自違うと思うのでちゃんとチェックしてください
  • 追記: .1.0.0 を省略した名前にしてたら普通にうまく行かなかったので付けてください
一応ターミナル全部開き直して、pip がうまくいったりすれば成功です。
  • 追記: MySQLdb をインポートしてみると要求されるので確かめやすいです

おわりに
自分の場合はかなり具体的な契機があったので中断のせいでぶっ壊れたのかと思ったんですが、たまたま整理が行われたタイミングで macOS 10.15 のバグが発現した感じなのですかね?よくわからん


著者の画像

ci7lus

@ci7lus

Caramelize - Made withCaramelizeand / Privacy