On Mon, Oct 2, 2017, 12:30 Barry Warsaw, <ba...@python.org> wrote: > On Oct 2, 2017, at 14:56, Brett Cannon <br...@python.org> wrote: > > > So Mercurial specifically is an odd duck because they already do lazy > importing (in fact they are using the lazy loading support from importlib). > In terms of all of this discussion of tweaking import to be lazy, I think > the best approach would be providing an opt-in solution that CLI tools can > turn on ASAP while the default stays eager. That way everyone gets what > they want while the stdlib provides a shared solution that's maintained > alongside import itself to make sure it functions appropriately. > > The problem I think is that to get full benefit of lazy loading, it has to > be turned on globally for bare ‘import’ statements. A typical application > has tons of dependencies and all those libraries are also doing module > global imports, so unless lazy loading somehow covers them, it’ll be an > incomplete gain. But of course it’ll take forever for all your > dependencies to use whatever new API we come up with, and if it’s not as > convenient to write as ‘import foo’ then I suspect it won’t much catch on > anyway. >
My approach supports global "switch" to make it transparent (see the notebook for details). I'm just saying you could also support a function for lazy importing when you have only a module or two you to be lazy about while being eager otherwise. -Brett > -Barry > > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > https://mail.python.org/mailman/options/python-dev/brett%40python.org >
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com