0 votos

¿Cómo solucionar ImportError: dlopen(): símbolo no encontrado en el espacio de nombres plano '_mysql_affected_rows' en Mac M1?

Tengo un problema al ejecutar un script dentro de un entorno virtual de Python.

He instalado MySQL, el cliente de MySQL, Django y todo usando Homebrew ya que estoy en un Mac M1 (Apple M1 Pro ejecutando Sonoma 14.4). Cuando reviso esto usando pip install, siempre recibo un mensaje de requisito satisfecho. Además, no tengo problemas para iniciar una base de datos dentro de MySQL y acceder a esta base de datos.

He visto alguna información que indica que este es un error de versión, pero desinstalar y reinstalar MySQL con arch arm64 brew install mysql proporciona los mismos errores que se indican arriba. También he visto información que sugiere instalar solo la biblioteca específica que falta, pero no estoy seguro cuál es en este caso.

Este es el error completo que estoy obteniendo:

Traceback (most recent call last):
  File "/Users/giuseppespartico/Desktop/jrc-folder/biomonenv/lib/python3.12/site-packages/django/db/backends/mysql/base.py", line 15, in 
    import MySQLdb as Database
  File "/Users/giuseppespartico/Desktop/jrc-folder/biomonenv/lib/python3.12/site-packages/MySQLdb/__init__.py", line 17, in 
    from . import _mysql
ImportError: dlopen(/Users/giuseppespartico/Desktop/jrc-folder/biomonenv/lib/python3.12/site-packages/MySQLdb/_mysql.cpython-312-darwin.so, 0x0002): símbolo no encontrado en el espacio de nombres plano '_mysql_affected_rows'

La excepción anterior fue la causa directa de la siguiente excepción:

Traceback (most recent call last):
  File "/Users/giuseppespartico/Desktop/jrc-folder/kcb-ds/./manage.py", line 21, in 
    main()
  File "/Users/giuseppespartico/Desktop/jrc-folder/kcb-ds/./manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "/Users/giuseppespartico/Desktop/jrc-folder/biomonenv/lib/python3.12/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/Users/giuseppespartico/Desktop/jrc-folder/biomonenv/lib/python3.12/site-packages/django/core/management/__init__.py", line 416, in execute
    django.setup()
  File "/Users/giuseppespartico/Desktop/jrc-folder/biomonenv/lib/python3.12/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/giuseppespartico/Desktop/jrc-folder/biomonenv/lib/python3.12/site-packages/django/apps/registry.py", line 116, in populate
    app_config.import_models()
  File "/Users/giuseppespartico/Desktop/jrc-folder/biomonenv/lib/python3.12/site-packages/django/apps/config.py", line 269, in import_models
    self.models_module = import_module(models_module_name)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   ...
  ...
  ...

¿Alguien sabe cómo solucionar esto?

0voto

Oskar Puntos 1242

¿Usaste pip para instalar MySQL también para abordar el mensaje de error "¿Instalaste el cliente de mysql?" que identificaste?

Hay una segunda respuesta más involucrada en macOS que requiere cambios específicos en mysql_conf.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X