Nick Coghlan wrote:
I find the imports at the top of the file to be a nice
catalog of external dependencies.

Not only is it useful for human readers, it's also useful
for packaging tools such as py2exe that need to know which
modules are being used.

I experimented once with auto-importing in PyGUI, but in
the end I dropped it, partly because of this consideration.

There were other problems with it as well. I don't recall
all the details, but I think one issue is that any errors
resulting from an import triggered by an attribute access
get masked and turned into an AttributeError, making them
very confusing to diagnose.

Also, importing requires acquisition of the import lock,
which could cause problems in a multithreaded environment
if it happens at unpredictable times.

For these reasons I'm inclined to regard auto-importing
as an anti-pattern -- it seems like it should be a good
idea, but it leads to more problems than it solves.

--
Greg
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to