numpy build fail en M1 Big sur 11.1

Estoy usando MacBook m1 que está ejecutando Big Sur 11.1 , y he instalado Xcode-commandline-tools versión 12.3 y ha instalado python3.8.5 y pip3 .python3 y pip son aplicaciones nativas, que es que funcionan en ARM

pip3 versión 20.3.3

python3 versión 3.8.5

setuptools versión 51.0.0

wheel versión 0.36.2

cuando escriba python3 -m pip install numpy

La salida es :

Defaulting to user installation because normal site-packages is not writeable
Collecting numpy
  Using cached numpy-1.19.4.zip (7.3 MB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Building wheels for collected packages: numpy
  Building wheel for numpy (PEP 517): started
sandeep@Sandeeps-Air ~ % cat a
Defaulting to user installation because normal site-packages is not writeable
Collecting numpy
  Using cached numpy-1.19.4.zip (7.3 MB)
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
    Preparing wheel metadata: started
    Preparing wheel metadata: finished with status 'done'
Building wheels for collected packages: numpy
  Building wheel for numpy (PEP 517): started
  Building wheel for numpy (PEP 517): finished with status 'error'
Failed to build numpy

y con una lista muy grande errores

¿Es numposo todavía no está apoyado en M1 o lo estoy haciendo mal?

Pregunta hecha hace 3 años, 2 meses, 7 días - Por daniel1


11 Respuestas:

  • Tenía exactamente el mismo problema con mi nuevo Mac Mini. Después de pasar una tarde leyendo este tema en github, finalmente lo logré. Sin embargo, sólo parece funcionar con v1.20.0rc2 o arriba...

    Larga historia corta, estos fueron los pasos que he tomado para que funcione:

    pip3 install Cython
    git clone https://github.com/numpy/numpy.git 
    cd numpy
    pip3 install . --no-binary :all: --no-use-pep517
    

    Después de eso, podría cd en mi virtualenv e importar numpy:

    >>> import numpy as np
    >>> np.__version__
    '1.21.0.dev0+402.gc4ae3ce64'
    >>> 
    

    Siguiente: pandas.

    UPDATE:Después de más búsqueda, encontré este interesante artículo, lo que indica que puede iniciar fácilmente Terminal en el modo Rosatta. Eso también resolvió las cuestiones.

    Sin embargo, estoy trabajando con un Mac Mini sin cabeza, así que todavía tengo que averiguar si esa solución también es feasable en esa configuración particular.

    UPDATE 2

    Ahora tengo pandas trabajando también, gracias a esta respuesta sobre SO.

    Respondida el Dec 17, 2020 a las 08:15 - por gitguru

    Votos positivos: 0 | Votos negativos: 0

  • Sí, numpy todavía parece no ser apoyado en estable, pero si usted está listo para trabajar con inestable versión probar este comando:

    pip3 install numpy --compile --pre
    

    Esto recompilará todo el código necesario rama inestable.

    Trabajó para mí.

    Respondida el Dec 17, 2020 a las 08:22 - por progprophet

    Votos positivos: 0 | Votos negativos: 0

  • Desde NumPy 1.21.0, se ha liberado universal2 ruedas para Python 3.8 y Python 3.9 en Mac. Se instala en Mac M1.

    Lo he probado en mi M1 con Python 3.9.2, macOS Big Sur (11.5.1), y pip 21.1.3. Sólo uso pip/pip3 para instalarlo.

    Nota de liberación: https://github.com/numpy/numpy/releases/tag/v1.21.0

    Respondida el Dec 17, 2020 a las 08:30 - por apiartisan

    Votos positivos: 0 | Votos negativos: 0

  • Tenga en cuenta que el único entorno de construcción confiable para la suite de datos-ciencia completa para python en el momento (Feb 2021) en la arquitectura M1 ARM es a través de miniforge.

    Por ejemplo.

    brew install --cask miniforge
    conda init zsh
    conda activate
    conda install numpy scipy scikit-learn
    

    Respondida el Dec 17, 2020 a las 08:37 - por quantumcoderd26d

    Votos positivos: 0 | Votos negativos: 0

  • Lo que funcionó para mí fue ejecutar iTerm con la opción "abrir usando Rosetta" habilitado y actualizar pip antes de instalar numpy.

    enter image description here

    En lugar de habilitar esta opción también podría ejecutar la pip install y pitón seleccionando una arquitectura diferente con arch -x86_64. Ejemplo utilizando un entorno virtual:

    $ python3 -m venv ~/myenv
    $ source ~/myenv/bin/activate
    (myenv)$ python3 -m pip install --upgrade pip
    Collecting pip
      Using cached pip-21.0.1-py3-none-any.whl (1.5 MB)
    Installing collected packages: pip
      Attempting uninstall: pip
        Found existing installation: pip 20.2.3
        Uninstalling pip-20.2.3:
          Successfully uninstalled pip-20.2.3
    Successfully installed pip-21.0.1
    
    (myenv)$ arch -x86_64 pip install numpy
    Collecting numpy
      Using cached numpy-1.20.1-cp39-cp39-macosx_10_9_x86_64.whl (16.1 MB)
    Installing collected packages: numpy
    Successfully installed numpy-1.20.1
    
    (myenv)$ arch -x86_64 python3
    Python 3.9.1 (v3.9.1:1e5d33e9b9, Dec  7 2020, 12:44:01)
    [Clang 12.0.0 (clang-1200.0.32.27)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import numpy
    >>> numpy.__version__
    '1.20.1'
    

    Respondida el Dec 17, 2020 a las 08:47 - por bytebison

    Votos positivos: 0 | Votos negativos: 0

  • Estaba tratando de instalar numpy sin rosetta 2, pero las soluciones aquí enumeradas fallaron para mí. Brew salvó el día. Lo instalé con

    brew install numpy
    

    Respondida el Dec 17, 2020 a las 08:54 - por bytebison

    Votos positivos: 0 | Votos negativos: 0

  • Prueba esto como pude instalar numpy usando este método.

    1. brew install openblas (utilizar el casero nativo en lugar de ejecutarlo bajo Rosetta 2)
    2. OPENBLAS="$(brew --prefix openblas)" pip3 install numpy

    Respondida el Dec 17, 2020 a las 09:02 - por algorithmarchitect

    Votos positivos: 0 | Votos negativos: 0

  • En primer lugar, el soporte numposo no está ahí para Mac con arma m1 usando la versión 3.8 de python. El método para trabajar con esto es actualizar su versión de python a 3.9. Esta es la última versión de python y puede ser un poco inestable. Si quieres trabajar con tensorflow entonces no actualizar a python 3.9 versión ya que no lo soportan y el soporte aparecerá con la versión 2.5 (estimada). Por lo tanto, si no desea utilizar tensorflow y desea utilizar numpy mediante el uso de pip install entonces vaya adelante instalar python3.9 y hacerlo su intérprete de python predeterminado.

    Le recomendaré que use Homebrew para la instalación de python 3.9 como tan fácil como ejecutar un comando simple.

    Respondida el Dec 17, 2020 a las 09:11 - por bitcraftsman

    Votos positivos: 0 | Votos negativos: 0

  • enfrentó el mismo problema en Monterey también.

    actualizar la versión pip a 21.3.1 de 20.2.3 solucionó la cuestión.

    source env/bin/activate
    pip install -U pip
    pip install numpy
    

    Respondida el Dec 17, 2020 a las 09:19 - por logicluminary

    Votos positivos: 0 | Votos negativos: 0

  • El error que estás experimentando al intentar instalar NumPy en tu MacBook M1 con Big Sur 11.1 podría deberse a la falta de compatibilidad total de NumPy con la arquitectura ARM del procesador M1.

    Sin embargo, hay formas de solucionar este problema. Una opción es intentar instalar NumPy utilizando la versión más reciente de NumPy que soporte la arquitectura ARM, ya que los desarrolladores pueden haber lanzado actualizaciones desde la última vez que intentaste instalarlo. Puedes verificar la página oficial de NumPy para obtener información sobre la compatibilidad con la arquitectura ARM.

    Otra opción es instalar NumPy utilizando un entorno de virtualenv con Rosetta 2, que permite ejecutar aplicaciones de Intel x86 en arquitecturas ARM, aunque esta solución puede no ser óptima en términos de rendimiento.

    También puedes intentar compilar NumPy desde la fuente en tu MacBook M1. Para hacerlo, puedes clonar el repositorio oficial de NumPy desde GitHub y compilarlo manualmente. Asegúrate de tener todas las dependencias y herramientas necesarias

    Respondida el Dec 18, 2020 a las 08:14 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Según la información proporcionada, es posible que estés experimentando problemas al instalar NumPy en tu MacBook M1 con Big Sur 11.1 debido a incompatibilidades con la arquitectura del procesador M1. Aquí tienes algunos pasos que puedes seguir para intentar resolver el problema:

    • Verifica la compatibilidad de NumPy: Asegúrate de que estás intentando instalar una versión de NumPy que sea compatible con la arquitectura ARM del procesador M1. Puedes consultar la página de descargas de NumPy para obtener más información.
    • Instala las dependencias necesarias: Asegúrate de tener instaladas todas las dependencias necesarias para construir NumPy desde la fuente. Esto incluye un compilador C y las bibliotecas de desarrollo de Python. Puedes instalar estas dependencias ejecutando los siguientes comandos:
    
       xcode-select --install
       sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.15.pkg -target /
       sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_for_macOS_10.15.pkg -target /
       
    • Intenta instalar desde la fuente: Si la instalación a través de pip no funciona, puedes intentar instalar NumPy desde la fuente. Descarga el código fuente de NumPy desde GitHub, descomprímelo e intenta compilarlo e instalarlo manualmente siguiendo las instrucciones proporcionadas en el archivo README.
    • Comprueba la configuración de tu entorno: Asegúrate de que tu entorno esté configurado correctamente para la compilación. Esto incluye establecer las variables de entorno necesarias, como `CC` y `CXX`, para que apunten a los compiladores correctos. También puedes intentar ejecutar el comando `pip install numpy --verbose` para obtener información detallada sobre el proceso de instalación.
    • Busca ayuda en la comunidad: Si sigues teniendo problemas, puedes publicar tu problema en los foros de la comunidad de NumPy o en Stack Overflow. Es posible que otros usuarios hayan experimentado problemas similares y puedan proporcionar soluciones.

    Si ninguno de estos pasos resuelve el problema, es posible que tengas que esperar a que se lance una versión de NumPy que sea completamente compatible con la arquitectura M1.

    Respondida el Dec 18, 2020 a las 08:25 - por Gemini

    Votos positivos: 0 | Votos negativos: 0