Скрипт Python с использованием webdriver (селена), вешающий навсегда

Ваше сообщение об ошибке содержит эту строку:

subprocess installed post-installation script returned error exit status 1

Однако это installed post-installation script не упоминается по имени. После долгих переделок я узнал, что его имя (в моем случае) /var/lib/dpkg/info/mysql-server-5.7.postinst.

Откройте этот файл с помощью sudo vi /var/lib/dpkg/info/mysql-server-5.7.postinst или вашего предпочтительного редактора.

Наверху измените строку 3 (или так): set -e на set -x, сохраните файл , (опция -e - это «выход из ошибок», -x означает «явно показать выполненную команду», предположительно)

Запустить sudo dpkg --configure -a --log /tmp/dpkg.log (опция -log необязательна). Вы также можете просто запустить apt upgrade, если вы знаете, что это будет единственный пакет, который будет обновлен.

Теперь вы получаете подробный вывод сценария mysql-server-5.7.postinst bash, и вы можете понять, что не так .

В моем случае он безуспешно пытался (повторно) запустить mysql_upgrade, но это не было необходимо для моей настроенной установки mysql. Я был уверен, что запустил его вручную до, успешно, и все было хорошо.

Итак, я выписал строку 321 (для более старых выпусков mysqld попробуйте строку 281),

#mysql_upgrade --defaults-file=/etc/mysql/debian.cnf || result=$?

и команда, которая потерпела неудачу раньше, sudo apt upgrade (запустите ее снова), завершилась успешно, а dpkg удалил статус ошибки для этого пакета.

Теперь вы можете установить назад set -x - set -e (упомянутый выше). И необязательно раскомментируйте строку mysql-upgrade.

Дополнительная работа может потребоваться, если вы переместили свой раздел данных mysql в нестандартное место. Я переместил мой из /var/lib/mysql/data на другой диск через символическую ссылку. Тогда вам может понадобиться временно удалить символическую ссылку перед манипуляцией сценария postinst. Затем повторно заново создайте его после запуска обновления пакета.

После следующего небольшого обновления версии пакета debian mysqld эта проблема с скриптом /var/lib/dpkg/info/mysql-server-5.7.postinst может появиться снова.

1
задан 9 February 2018 в 23:09

2 ответа

Пакет Python Error Steamroller от Python Software использует комбинацию динамической компиляции, абстрактной перезаписи дерева синтаксиса, модификации стека в реальном времени и любви, чтобы избавиться от всех этих досадных ошибок, которые так усложняют программирование. Это мгновенное, но временное решение для модулей, которые вызывают ошибки.

0
ответ дан 17 July 2018 в 21:11

Пакет Python Error Steamroller от Python Software использует комбинацию динамической компиляции, абстрактной перезаписи дерева синтаксиса, модификации стека в реальном времени и любви, чтобы избавиться от всех этих досадных ошибок, которые так усложняют программирование. Это мгновенное, но временное решение для модулей, которые вызывают ошибки.

0
ответ дан 23 July 2018 в 21:51

Другие вопросы по тегам:

Похожие вопросы: