Tengo una Macbook con chip Apple M1 en la que tengo que usar Python 3.6.5 para mi proyecto. Viene con Python 2.7.16 y 3.8.2 preinstalado. brew para instalar Python, que por defecto instaló 3.9.1.
Entonces, probé esta fórmula casera para instalar 3.6.5, pero obtuve el siguiente error:
checking for pthread_t... yes checking size of pthread_t... 8 configure: error: Unexpected output of 'arch' on OSX Do not report this issue to Homebrew/brew or Homebrew/core! pyenv install 3.6.5 , pero falla con un error similar al anterior. El método explicado aquí por ePi272314 para instalar python con git commit falla porque ya no es compatible con homebrew.
Cuando trato de ejecutar Terminal con Rosetta 2 e instalar python 3.6.5, usando los métodos anteriores, obtengo el siguiente error de compilación u otro:
Error: Cannot install in Homebrew under Rosetta 2 in ARM default prefix (/opt/homebrew)! Finalmente, descargué el archivo dmg de Python 3.6.5 y lo instalé. Se instaló bien y es visible como una instalación de python3 en /usr/local/bin/python3 pero no puede ejecutarse.
kxxxr@Kxxxns-MBP bin % where python3 /opt/homebrew/bin/python3 /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 /opt/homebrew/bin/python3 /usr/local/bin/python3 /usr/bin/python3 kxxxr@Kxxxns-MBP bin % /opt/homebrew/bin/python3 --version Python 3.9.1 kxxxr@Kxxxns-MBP bin % /usr/local/bin/python3 --version zsh: killed /usr/local/bin/python3 --version kxxxr@Kxxxns-MBP bin % El archivo inactivo instalado por Python dmg tampoco puede ejecutarse (tengo derechos de administrador). 
Por último, me encontré con este informe de error de Python, que dice que el error se está solucionando para Python 3.8, 3.9 y 3.10. Claramente, parece que la versión anterior no será compatible oficialmente con los chips M1.
Mi pregunta es:
Gracias por adelantado.
Usando la respuesta de @Charles Duffy, puede hacer que las versiones anteriores se ejecuten en M1. Sin embargo, las versiones de Python anteriores a la 3.8 NO serán compatibles oficialmente con M1 porque no estaban en la fase de corrección de errores cuando se lanzaron los chips M1. Se establece claramente aquí como:
">¿Hay planes para respaldar PR 22855 a sucursales anteriores a 3.9?
El plan también es admitir 3.8 en Big Sur y Apple Silicon, ya que 3.8 todavía está en modo de corrección de errores. No hay planes para respaldar el soporte a 3.7 y 3.6, que se encuentran en la fase de solo corrección de seguridad de sus ciclos de lanzamiento".
en este rastreador de errores de Python.
Así que no creo que haya ninguna forma de que funcionen en M1 a menos que alguien modifique Python por su cuenta.
Nix instalado debajo de Rosetta 2 hará el truco. Ni siquiera lo tenía instalado antes de ejecutar lo siguiente: tenga en cuenta el mensaje que muestra que Nix está descargando Python 3.6 cuando lo solicité.
# yes, this really is a M1 Mac charles@macbook-pro ~ % uname -a Darwin macbook-pro.lan 20.2.0 Darwin Kernel Version 20.2.0: Wed Dec 2 20:40:21 PST 2020; root:xnu-7195.60.75~1/RELEASE_ARM64_T8101 x86_64 i386 MacBookPro17,1 Darwin charles@macbook-pro ~ % arch arm64 # ...however, Rosetta was used to install an x86_64 Nix build charles@macbook-pro ~ % file "$(realpath "$(command -v nix)")" /nix/store/104sp9zrhmh3jycj32jcyl3f13mysdki-nix-2.3.9/bin/nix: Mach-O 64-bit executable x86_64 # ...and that x86_64 Nix build can install and run an x86_64 Python 3.6 charles@macbook-pro ~ % nix run nixpkgs.python36 -c python [1 copied (53.7 MiB), 9.3 MiB DL] Python 3.6.12 (default, Dec 18 2020, 15:32:50) [GCC 4.2.1 Compatible Clang 7.1.0 (tags/RELEASE_710/final)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> Lo anterior (para fines de reproducibilidad) fue recopilado con nixpkgs haciendo referencia al canal https://nixos.org/channels/nixpkgs-20.09-darwin , y específicamente a la instancia sn5ycj9wkbdmyinvqyg9rn42sw71wqad-nixpkgs-20.09pre245572.f18fbc33930 .
Python 3.6 no es compatible con M1 debido al hecho de que 3.6 llegará al final de la línea (EOL) a fines de este año (2021).
Le sugiero que pruebe al menos Python 3.7 o superior en M1. Usando pyenv , logré instalar Python 3.7.10 , 3.8.6 y 3.9.4 de forma nativa en macOS 11 (Apple Silicon). Este artículo lo ayudará durante el proceso, si aún está buscando una respuesta: https://squademy.medium.com/install-python-on-macos-11-m1-apple-silicon-using-pyenv-12e0729427a9