es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de segmentación al llamar a import_array de Numpy en Mac M1.

Para una aplicación, estoy intentando usar NumPy desde C++ en un Mac M1. Desafortunadamente, obtengo un fallo de segmentación al llamar a import_array(). Mi pequeño programa de prueba se ve así:


#define PY_SSIZE_T_CLEAN #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION #include <python.h> #include <numpy arrayobject.h=""> int main(int argc, char *argv[]) { import_array(); if (PyErr_Occurred()) { std::cerr << "Error al importar el módulo de Python de numpy." << std::endl; return 0; } return 0; }

Más específicamente, el error ocurre al llamar a ‘PyImport_ImportModule(“numpy.core.multiarray.umath”)’ en _multiarray_api.h. Curiosamente, no hay problema al importar _multiarray_umath en Python.
Tanto Python como NumPy son versiones para arm64.

He probado con Clang y GCC para la compilación. ¿Alguien ha tenido el mismo problema y tiene una solución o una idea de qué puedo intentar?</python.h>

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás encontrando un fallo de segmentación al intentar usar NumPy desde C++ en un Mac M1. El error ocurre al llamar a ‘import_array()’ y ‘PyImport_ImportModule(“numpy.core._multiarray_umath”)’ en ‘__multiarray_api.h’. Es extraño que no haya problemas al importar ‘_multiarray_umath’ en Python.

    Hay diferentes cosas que podrías intentar para resolver el problema:

    1. Verifica si has instalado correctamente NumPy, incluyendo todas sus dependencias.
    2. Asegúrate de estar utilizando la versión correcta de NumPy y Python para la arquitectura arm64.

    3. Intenta utilizar un entorno virtual para Python, lo cual podría ayudarte a organizar y hacer un seguimiento de los paquetes y sus versiones.

    4. Verifica si hay alguna variable de entorno o configuración faltante que podría estar causando el problema.

    5. Depura tu código utilizando herramientas como GDB o LLDB para identificar la causa raíz del fallo de segmentación.

    6. Por último, podrías intentar pedir ayuda en Stack Overflow o en las listas de correo de NumPy, donde podrías encontrar otros usuarios que hayan tenido problemas similares.

    Espero que estas sugerencias te ayuden a resolver el problema.

Comments are closed.