Seriously, this does work, and it works on Windows too. Just not all the time. If you're the only one running the script, it will work fine.
If someone else is running your script, he/she may not have the same environment that you do. Rather than force everyone to have the same environment variable set, I'd prefer giving them access to my module directory. Let the script handle the rest.