Мне кажется, что Quills назначил некоторые портлеты, которые не были отменены при удалении Quills.
Лучшим решением было бы удалить эти портлеты перед удалением Quills.К сожалению, я не знаю инструмента, позволяющего получить общее представление о том, где назначены портлеты, и сразу определить, где находится портлет, который нарушает работу, чтобы вы могли его удалить.Может быть, кто-то еще знает о таком инструменте?
Вы можете попробовать экспортировать конфигурацию портлета с помощью инструмента portal_setup;результирующий файл portlets.xml может содержать информацию о том, где назначен этот портлет или портлеты.
Или вместо того, чтобы находить и удалять портлеты, вы можете попытаться зарегистрировать фиктивную замену нарушающего интерфейса (это следует сделать вкод инициализации какого-либо продукта в вашем экземпляре):
import imp, sys
from zope.interface import Interface
m = imp.new_module('quills.app.portlets.quillslinks')
sys.modules['quills.app.portlets.quillslinks'] = m
m.IQuillsLinksPortlet = Interface
Это последнее решение следует считать уродливым хаком.