Created
December 2, 2020 15:13
-
-
Save aputs/1e898436c70c23ea739899a7942a720a to your computer and use it in GitHub Desktop.
pyenv install python versions on big sur
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export MACOSX_DEPLOYMENT_TARGET=11.0 | |
brew install pyenv bzip2 zlib xz [email protected] | |
## 3.6.8 | |
CFLAGS="-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.6.8 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1) | |
## 3.6.12 | |
CFLAGS="-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.6.12 < <(curl -sSL https://github.com/python/cpython/commit/8ea6353.patch\?full_index\=1) | |
## 3.7.9 | |
CFLAGS="-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 3.7.9 |
Sadly not working for 3.7.3
if you can fine one that works in 3.7.x
where x >= 3
it's unlucky anything will break as they’re are minor updates.
Thank you, 3.6.12 command worked like a charm.
I keep getting this error installing 3.6.8 as above. Anyone have some insight?
Oddly enough it looks like it keeps going.
Running Big Sur on Mac Mini M1.
BUILD FAILED (OS X 11.5.1 using python-build 20180424)
Inspect or clean up the working tree at /var/folders/lk/zvz8b1mj75xcs2_vz6ln9wz40000gn/T/python-build.20220411160332.92993
Results logged to /var/folders/lk/zvz8b1mj75xcs2_vz6ln9wz40000gn/T/python-build.20220411160332.92993.log
Last 10 log lines:
install|*) ensurepip="" ;; \
esac; \
./python.exe -E -m ensurepip \
$ensurepip --root=/ ; \
fi
Looking in links: /var/folders/lk/zvz8b1mj75xcs2_vz6ln9wz40000gn/T/tmptxti00w0
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-18.1 setuptools-40.6.2
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
It would seem that the building scripts seem to build for x86_64 or ARM64e
python3.10: Mach-O 64-bit executable arm64
With many versions of python with no build configuration for ARM64e
the macOS builtin python3 has been built as a universal binary and works with both
/usr/bin/python3: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e:Mach-O 64-bit executable arm64e] /usr/bin/python3 (for architecture x86_64): Mach-O 64-bit executable x86_64 /usr/bin/python3 (for architecture arm64e): Mach-O 64-bit executable arm64e
It would be nice to have all the main versions of Python as universal binaries. 2.7 maybe for old code when porting.
However, Rosetta will most likely be phased out when Apple Silicon takes over.
So everything will be complied for arm64e
Therefore tech like remote development, VMs, and Docker will have to be used if Intel is your target platform.
of course, python should be python i.e portable, but you may find platform inderpedent unintended differences, compatability issues and bugs with certain versions of interpreters.