Python MySQLdb ImportError - Символ не найден: _BIO_set_callback_ex - MA C Мохаве - PullRequest
0 голосов
/ 27 января 2020

Я установил MySQLdb на MA C Мохаве, используя

brew install mysql-connector-c
pip install mysqlclient

Я получил сообщение об успехе. Однако, когда я запускаю:

Python 3.7.6 (default, Dec 30 2019, 19:38:28) 
[Clang 11.0.0 (clang-1100.0.33.16)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/XXX/.virtualenvs/ZZZ/lib/python3.7/site-packages/MySQLdb/__init__.py", line 18, in <module>
    from . import _mysql
ImportError: dlopen(/Users/XXX/.virtualenvs/ZZZ/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so, 2): Library not loaded: @rpath/libmysqlclient.21.dylib
  Referenced from: /Users/XXX/.virtualenvs/ZZZ/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so
  Reason: image not found
>>> 

Я обнаружил это: Python mysqldb: Библиотека не загружена: libmysqlclient.18.dylib

Но после применения:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.21.dylib /usr/local/lib/libmysqlclient.21.dylib

Я получаю следующую ошибку:

Python 3.7.6 (default, Dec 30 2019, 19:38:28) 
[Clang 11.0.0 (clang-1100.0.33.16)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/XXX/.virtualenvs/ZZZ/lib/python3.7/site-packages/MySQLdb/__init__.py", line 18, in <module>
    from . import _mysql
ImportError: dlopen(/Users/XXX/.virtualenvs/ZZZ/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so, 2): Symbol not found: _BIO_set_callback_ex
  Referenced from: /usr/local/lib/libmysqlclient.21.dylib
  Expected in: /usr/local/lib/libcrypto.1.1.dylib
 in /usr/local/lib/libmysqlclient.21.dylib
>>> 

И я не смог найти ЛЮБОЙ информации в Google или других поисковых системах о _BIO_set_callback_ex, кроме страниц справочника, таких как https://helpmanual.io/man3/BIO_get_callback_ex-ssl/ , которые не очень полезны для моей проблемы.

Переустановка библиотек тоже не сработала.

...