Импорт MySQLdb (модуль mysqlclient) из Python вызывает ошибку, связанную с openssl, в Ma c ОС Catalina - PullRequest
0 голосов
/ 27 февраля 2020

Есть аналогичные вопросы в StackOverflow, но ни один из них полностью не работал для меня в Ма c ОС Каталина, февраль 2020 года. Я даже не пробовал отвечать на вопросы, связанные с огромными изменениями разрешений, ссылок или обходных путей низкого уровня. который, вероятно, заплатит в будущем.

1 Ответ

0 голосов
/ 27 февраля 2020

Я наконец-то нашел похожее, но более безопасное решение:

brew uninstall openssl

Homebrew, вероятно, предупредит вас о других пакетах, которые зависят от него, особенно mysql, и, возможно, python@3.8 или других. Не заставляйте , просто удалите все из них:

brew uninstall mysql
brew uninstall python@3.8
brew uninstall ...  # everything you have as dependencies
brew uninstall openssl

Теперь просто переустановите mysql, и openssl будет переустановлено слишком автоматически, на этот раз без ошибок:

brew install mysql

Теперь все будет работать снова:

python
import MySQLdb

Редактировать

В случае, если это все еще не удается, посмотрите, если это кеш из pip тот, который держит проблему:

brew info openssl  # to copy your LDFLAGS path of the lib
pip uninstall mysqlclient
LDFLAGS="-L/usr/local/opt/openssl@1.1/lib" pip install --no-cache-dir mysqlclient
python
import MySQLdb
...