Closed discopatrick closed 6 years ago
SSL errors are fun! 🙄 I know they can be super frustrating, but I'm not exactly sure what to suggest here—other than perhaps trying to install Python 3 instead of using the system's built-in Python? Sometimes it's like dark magic trying to get Python's various URL libraries to find the right system-installed certificate store.
Well in my case it would be a case of installing Python 2 because I'm still using a plugin that hasn't been converted yet! But I believe I have installed 2.7.15 in place of the system default of 2.7.13...
@sampsyo - can you foresee any problems with running beets in 2 venvs, one in python2 for the beets-alternatives plugin, and another in python3 to fix this problem? Would the library be compatible with both?
That should be fine.
I don't really know whether switching to another Python will work, FWIW… maybe it would be just as good to try the built-in macOS Python as to try Python 3? It's really just guessing (at least for me) when it comes to certificate shenanigans.
Ah, I just fixed it. Went to reinstall 2.7.15 from the installer and noticed this in the pre-install notes:
Certificate verification and OpenSSL_[CHANGED in 2.7.15]
This variant of Python 2.7 now includes its own private copy of OpenSSL 1.0.2. Unlike previous releases, the deprecated Apple-supplied OpenSSL libraries are no longer used. This also means that the trust certificates in system and user keychains managed by the Keychain Access application and the security command line utility are no longer used as defaults by the Python ssl module. A sample command script is included in /Applications/Python 2.7 to install a curated bundle of default root certificates from the third-party certifi package (https://pypi.python.org/pypi/certifi). Click on Install Certificates to run it. If you choose to use certifi, you should consider subscribing to the project's email update service to be notified when the certificate bundle is updated.
The bundled pip included with the Python 2.7 installer has its own default certificate store for verifying download connections.
So running /Applications/Python 2.7/Install Certificates.command
will install the certificates you need.
Great news!
Problem
Running this command in verbose (
-vv
) mode:(Using the
-f
flag because: https://github.com/beetbox/beets/issues/2704)Led to this problem:
Setup
lastgenre
, didn't help.My configuration (output of
beet config
) is: