`del` on a package has some kind of memory
A package is only read from disk once and then stored in memory as mutable singleton. The second time you import it you get the exact same singleton you have previously imported, and it’s still missing its cos. del math merely deletes the local name for it, it doesn’t “unimport” the package from Python overall.