Por que IoC / DI não é comum em Python?

Em JavaIoC / DI é uma prática muito comum, amplamente usada em aplicativos da web, quase todas as estruturas disponíveis e Java EE. Por outro lado, também existem muitas aplicações Web em Python, mas ao lado do Zope (que ouvi dizer que deve ser realmente horrível de codificar), a IoC não parece ser muito comum no mundo Python. (Cite alguns exemplos se achar que estou errado).

É claro que existem vários clones de estruturas populares de Java IoC disponíveis para Python,springpython por exemplo. Mas nenhum deles parece se acostumar praticamente. Pelo menos, nunca me deparei com umDjango ousqlalchemy+<insert your favorite wsgi toolkit here> aplicativo da Web baseado em algo que usa algo assim.

Na minha opinião, a IoC tem vantagens razoáveis e facilitaria a substituição do modelo de usuário django-default-user, por exemplo, mas o uso extensivo das classes de interface e da IoC no Python parece um pouco estranho e não »pythonic«. Mas talvez alguém tenha uma explicação melhor, por que a IoC não é amplamente usada em Python.

questionAnswers(14)

yourAnswerToTheQuestion