Плагин Twistd не найден после обновления Debian
После того, как я перешел с Debian Jessie на растяжку, twistd больше не находит мой плагин. Я не мог найти, что не так. Я думаю, мне нужно указать какой-то путь сейчас, который не был необходим раньше или похожий.
Я получаю ошибку /usr/bin/twistd: Unknown command: otfbot
и в списке команд, две команды программного обеспечения больше не перечислены. Структура каталогов плагинов для витых есть
twisted/plugins/genconfig_plugin.py
twisted/plugins/otfbot_plugin.py
И то, и другое создает экземпляр ServiceMaker.
1 ответ
В Twisted 16.4 убрана особенность twistd
(а также trial
и все другие сценарии Twisted командной строки), которые заставили его добавить текущий рабочий каталог в sys.path
, Если вы полагались на свой рабочий каталог, чтобы разрешить поиск своего кода при использовании версии Twisted старше 16.4 (Debian Jessie включает в себя 14.0.2), и вы обновились до версии 16.4 или новее (Debian Stretch включает 16.6.0) Теперь вы должны явно добавить нужные каталоги в путь импорта самостоятельно, возможно, установив virtualenv или установив PYTHONPATH
непосредственно.
Это было случайное изменение, и оно не задокументировано в примечаниях к выпуску (несмотря на очевидные, запутанные последствия для пользователя).
Для более подробной информации, вы можете прочитать эту ветку списка рассылки:
http://twistedmatrix.com/pipermail/twisted-python/2016-September/030780.html