On Mon, Nov 23, 2020 at 11:56:47AM +1300, Greg Ewing wrote:
> On 22/11/20 4:31 pm, Christopher Barker wrote:
> >unfortunately, that's not how most python packages are set up -- you
> >install the whole thing at once. As an example, it's really tricky to
> >use even one function from scipy without installing the whole thing.
>
> Something needs to change about how Python packages are set up,
> then. Most other software development systems manage to strip
> out unused stuff without needing a bunch of flakey heuristics
> for each individual library.
In a language without declarations, how do you know that something is
unused?
One can, I guess, look for imports, but the presence of even a single
eval or exec opens the flood-gates.
And then there could be code that looks at sys.modules directly.
Possibly via an alias:
# Module spam
from sys import modules as bunchofstuff
# Module eggs
from spam import bunchofstuff
re = bunchofstuff['re']
I trust you're not going to say that if you write obfuscated code like
that, you deserve whatever pain you get :-)
--
Steve
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/[email protected]/message/2DUJWXFYZW4VHW6KEYC4QDQ4KN6E2OAI/
Code of Conduct: http://python.org/psf/codeofconduct/