Pari päivää sitten päivitin MacOS:n Catalinaan ja heti sen jälkeen kaikki #Pythonilla kirjoittamani Snowflake-skriptit alkoivat palauttaa Abort trap: 6 -virheen. Alkuperäinen ajatukseni oli, että jonkin täytyy olla yhteensopivuusongelma joko python-liittimen tai uuden oletuspäätteisen päätelaitesuorittimen zsh:n kanssa. Onneksi olin väärässä, mutta tässä on, mitä löysin ja miten sain Python-skriptini taas toimimaan. -Oh Happy Days.
Miksi tämä tapahtuu
Virhe näyttää liittyvän siihen, että Catalina ei salli versioimattomien dylibien kutsumista. Lyhennetään tätä linkittämällä versioimattomat dylib-tiedostot versioituihin dylib-tiedostoihin. Tässä on korjaus, joka toimi minulla.
Korjaus
Google-haku johti minut tänne: https://forums.developer.apple.com/thread/119429
;tldr
Päätteeltäsi meidän täytyy ajaa muutama päivitys brew:n avulla.
brew update && brew upgrade && brew install openssl
Kun päivitykset ovat valmiit, suorita seuraavat vaiheet
cd /usr/local/Cellar/openssl/1.0.2t/lib
sudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/local/lib/
cd /usr/local/lib
sudo ln -s libssl.1.0.0.dylib libssl.dylib
sudo ln -s libcrypto.1.0.0.dylib libcrypto.dylib
Minun erityisemmässä ongelmassani
Minun kohdallani erityisemmin kyse oli sen varmistamisesta, että Lumihiutaleen Python-kytkin toimii oikein, joten tein pip3-päivityksen myös siihen:
pip3 install --upgrade snowflake-connector-python
Hyppäämällä yli useita moduuleja, jotka eivät tarvinneet päivityksiä, pääsimme muutamaan päivitykseen joistakin tiedostoista, jotka liittyvät cryptoon:
”Successfully installed asn1crypto-1.2.0 oscrypto-1.1.0 snowflake-connector-python-2.0.3”
Tämän jälkeen kaikki on toistaiseksi hyvin …. 😉
Toivottavasti tästä on apua!”