Installing legacy pythons is _hard_
I think that the trick to installing 3.3.7 is to have homebrew temporarily remove the openssl@1.1 library by entering brew uninstall openssl
Now, install pyenv with the target version, with all the compiler flags for zlib, bzip2 etc., and the arch detect patch.
brew uninstall --ignore-dependencies openssl@1.1
CPPFLAGS="-I$(brew --prefix openssl)/include -I$(brew --prefix bzip2)/include -I$(brew --prefix readline)/include -I$(xcrun --show-sdk-path)/usr/include"
LDFLAGS="-L$(brew --prefix openssl)/lib -L$(brew --prefix readline)/lib -L$(brew --prefix zlib)/lib -L$(brew --prefix bzip2)/lib"
pyenv install --patch 3.3.7 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch)
This should force the installer to install the applicable (old) openssl == 1.0.2k and successfully complete.
Reinstall openssl@1.1 when complete.
Other things of note:
type in which python if it’s not the pyenv shim, add export PATH="$HOME/.pyenv/shims:$PATH" to your .zshrc
Top post here is also useful for a step by step forced Rosetta brew install that’s comprehensive https://stackoverflow.com/questions/65349982/issues-installing-python-3-x-via-pyenv
I’m still struggling to get a pyenv virtualenvwrapper pip install to appear from the local python.
More to come…