Проблема с конфигурацией MailInaBox (из expiringdict импортируйте ExpiringDict)
Недавно я обновил свою установку mailinabox, и после этого, когда я пытаюсь запустить службу mailinabox, я получаю эту ошибку на консоли
Файл "/root/mailinabox/management/auth.py", from expiringdict import ExpiringDict ModuleNotFoundError: Модуль с именем 'expiringdict'
отсутствует.Я пробовал устанавливать модули вручную с помощью pip, но это просто не работает
Mailinabox имеет свой собственный каталог библиотек. Я узнал об этом, выполнив следующие команды:
# grep -R python3 /root/mailinabox/management/*.py
/root/mailinabox/management/cli.py:#!/usr/bin/python3 /root/mailinabox/management/daemon.py:#!/usr/local/lib/mailinabox/env/bin/python3 /root/mailinabox/management/mailconfig.py:# интерпретатор (/usr/bin/python3), а также через
# head -n1 /root/mailinabox/management/daemon.py
#!/usr/local/lib/mailinabox/env/bin/python3
# /usr/local/lib/mailinabox/env/bin/python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
/usr/local/lib/mailinabox/env/lib/python3.6/site-packages
Теперь, зная каталог для библиотек mailinbox, вы можете делать символические ссылки из стандартного каталога:
cd /usr/local/lib/mailinabox/env/lib/python3.6/site-packages
ln -s /usr/lib/python3/dist-packages/expiringdict expiringdict
ln -s /usr/lib/python3/dist-packages/expiringdict-1.1.2.egg-info expiringdict-1.1.2.egg-info
Эта команда должна решить проблему
# /usr/local/lib/mailinabox/env/bin/pip3 install expiringdict