Проблема с модулем Python
У меня есть общий хостинг на Bluehost. Я использую пользовательскую установку python(+ django) с несколькими установленными модулями. Все работало, до вчерашнего дня на сервере было сделано изменение (я полагаю), которое дало мне эту ошибку django:
... Файл "/****/****/.local/lib/python/django/utils/importlib.py", строка 35, в файле import_module __import__(name) "/****/****/.local/lib/python/django/db/backends/mysql/base.py", строка 14, в рейсе ImproperlyConfigured(" Ошибка загрузки модуля MySQLdb: %s" % e) ImproperlyConfigured: Ошибка загрузки модуля MySQLdb: libmysqlclient_r.so.16: невозможно открыть общий объектный файл: нет такого файла или каталога
Конечно, поддержка Bluehost не слишком полезна. Они посоветовали: 1) Я использую установку Python по умолчанию, потому что на ней уже установлена MySQLdb. Или что 2) я как-то импортирую пакет MySQLdb, установленный на python по умолчанию, из моего python (не знаю, можно ли это вообще сделать). Я обеспокоен тем, что, если я использую установку по умолчанию, у меня не будет разрешения на установку других моих пакетов.
У кого-нибудь есть идеи, как вернуться в рабочее состояние с минимальными изменениями инфраструктуры?
2 ответа
Я думаю, что вы обновили установку ОС, которая, в свою очередь, обновила libmysqlclient
и сломал родное расширение. Что вы можете сделать, это переустановить libmysqlclient16
еще раз (как это сделать, зависит от вашей конкретной ОС), и это должно решить вашу проблему.
Другой подход будет удалить MySQLdb
модуль и переустановите его снова, заставляя python скомпилировать его с более новой библиотекой.
Ты был прав. Bluehost обновил MySQL. Вот что я сделал: 1) удалите каталог "build" в каталоге "MySQL-python-1.2.3" 2) удалите egg 3) соберите модуль снова "python setup.py build" 4) установите модуль снова "python setup.py install --prefix=$HOME/.local"
Мораль истории для меня заключается в том, чтобы удалить старые вещи при переустановке модуля