Перейти к основному содержанию

Seafile 12 — ошибка No module named 'zope.event'

Seafile

Занимаюсь отладкой и приведением в порядок Seafile после апгрейда до 12 версии. В логе seafile-monitor.log вижу ошибку:

ModuleNotFoundError: No module named 'zope.event'

seafile

Зопа какая-то. Это означает, что фоновая служба Seafevents не работает.

Seafevents — это фоновый сервис в Seafile, который обрабатывает различные события и обеспечивает дополнительную функциональность.

Seafevents — это комплексная система оркестрации фоновых задач и обработки событий для платформы синхронизации файлов Seafile. Она обрабатывает асинхронные операции, включая синхронизацию пользователей LDAP, извлечение метаданных файлов, индексацию для поиска, аудит-логирование, проверку на вирусы и обработку контента с помощью ИИ. Система работает как автономная служба, которая интегрируется с основными компонентами Seafile через подключения к базам данных и очереди сообщений.

https://manual.seafile.com/12.0/config/seafevents-conf/

Первая попытка переустановить модуль:

pip3 install --force-reinstall zope.event
pip3 list | grep zope

zope.event             6.1
zope.interface         8.1
zope.interface         5.4.0

Попытка ничего не дала, модуль уже установлен. Странно, попробуем импортировать модуль.

cd /opt/seafile-server-12.0.14/pro/python
python3 -c "import zope.event; import zope.interface; print('SUCCESS - Seafile can import modules')"

Результат:

Traceback (most recent call last):
 File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'zope.event'

Ага, Seafile использует не обычный Python и действительно не может импортировать модуль.

pip3 show zope.event

Name: zope.event
Version: 6.1
Summary: Very basic event publishing system
Home-page: https://github.com/zopefoundation/zope.event
Author: Zope Foundation and Contributors
Author-email: zope-dev@zope.dev
License: ZPL-2.1
Location: /usr/local/lib/python3.10/dist-packages
Requires:
Required-by: gevent

Пакет установлен в /usr/local/lib/python3.10/dist-packages.

ls -la /usr/local/lib/python3.10/dist-packages/zope/

total 16
drwxr-xr-x  4 root root 4096 ноя 12 00:42 .
drwxr-xr-x 93 root root 4096 ноя 12 00:42 ..
drwxr-xr-x  3 root root 4096 ноя 12 00:42 event
drwxr-xr-x  5 root root 4096 ноя 12 00:25 interface

Да, event присутствует. Пробую удалить модуль в Seafile, может, он там криво ставится:

cd /opt/seafile-server-12.0.14/pro/python
sudo pip3 uninstall zope.event

Found existing installation: zope.event 6.1
Not uninstalling zope-event at /usr/lib/python3/dist-packages, outside environment /usr
Can't uninstall 'zope.event'. No files were found to uninstall.

Нельзя удалить, хм. Так, а Seafile ищет модуль в другом месте: /usr/lib/python3/dist-packages. Так сделаем линк:

sudo ln -s /usr/local/lib/python3.10/dist-packages/zope/event /usr/lib/python3/dist-packages/zope/event

Пробуем:

cd /opt/seafile-server-12.0.14/pro/python
python3 -c "import zope.event; import zope.interface; print('SEAFILE SUCCESS: Both modules imported')"

SEAFILE SUCCESS: Both modules imported

Другое дело, перезагружаем seafile и seahub.

seafile

Ошибок больше нет. Кажется, эта ошибка у меня и в 11 версии была...

Теги

 

Похожие материалы

Seafile сервер для Linux версия 7.0.3

5 июля 2019 года вышла новая версия сервера Seafile для Linux — 7.0.3. Релиз доступен для скачивания. Прошлый раз я успешно обновил Seafile Server 6.3 до версии 7.0.2. На этот раз попробую обновиться дальше до версии 7.0.3.