Q:

Why don't I need to import sys?

I have 2 python scripts, both utilizing sys.stdout, sys.exit(), etc. In one script, PyCharm highlights "import sys" as gray, (meaning it is never used), and if I remove the import statement, the program works just fine, including sys.stdout and sys.exit().
However, the second module does not highlight "import sys" as gray, and if I try to run it without that statement, I get an error on the first occurrence of sys.stdout: 
    NameError: name 'sys' is not defined

I have looked up the official documentation for sys, which says
    "This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter. It is always available."
Yet, most guides or instructions on how to use sys tell you to import.
So, do I have to import it or not? Why does one program need to, but not the other?
Possibly important differences between the two programs:
One program has a main function, and imports the other program. This is the one that does not need to import sys. Perhaps it inherently imports sys when it imports the other one as a module?

A:

It seems that the first script does not just import the second script; it imports * from it, like this: 
in module_1:
    from module_2 import *

And in module_2:
    import sys

This causes module_1 to import sys, indirectly. If I change
    from module_2 import *

to
    import module_2

then it no longer works.

