Я установил 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/ , которые не очень полезны для моей проблемы.
Переустановка библиотек тоже не сработала.