Jonathan Fine wrote: > Suppose we had a similar 'which' command in Python. It wouldn't by > itself stop things going wrong. But when they do go wrong, it might > help diagnose the problem.
This thread got me thinking about something exactly along these lines. It looks like the needed information is provided by, e.g., inspect.getfile, which on quick testing works for both modules and for objects imported from modules. For builtins, a TypeError is raised: > inspect.getfile(sys) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\Brian\AppData\Local\Programs\Python\Python37\Lib\inspect.py", line 647, in getfile raise TypeError('{!r} is a built-in module'.format(object)) TypeError: <module 'sys' (built-in)> is a built-in module For nonbuiltins, the full path to the relevant .py is returned: > inspect.getfile(inspect) 'C:\\...\\Python\\Python37\\Lib\\inspect.py' I'm sure there are other ways of inferring this, too. So, I guess the first question is whether it's worth actually implementing something into Python to make surfacing this information easier, or more automatic, or whatever -- or if it's really just a marketing campaign to make people more aware of, e.g., `inspect.getfile()` as a handy import debugging tool. >From there is the thornier question of whether implementing a feature to >enable active filtering of imports based on location/category is a good idea >or not. It seems like there's enough variability in installation >locations/contexts/etc. that coming up with a consistent set of filtering >rules would be a piece of a nightmare.... _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/3GQXKOXYG4VL4DUCUURKBVKWTHL3LIJL/ Code of Conduct: http://python.org/psf/codeofconduct/