Any executable you put in the PATH can be executed just by entering it into the command shell. If more than one variable is in the PATH with the same name that’s a collision, just like you’d have a collision in a namespace, right? Each PATH is like a separate namespace? So Python looks for modules in the PYTHONPATH, and you have to have this variable set up for the Python interpreter to find the modules?
Does this answer your question? What sets up sys.path with Python, and when?