This is not a complete solution, but for my purposes (being able to run the module from the command line with arguments) I found a workaround. I found out that calling python script.py [options...] forwards those given options to sys.argv in script.py, which I could then read normally using argparser. That was my real objective, not necessarily making a distributable executable, so this worked out fine.
I'm still open for a solution to my original question though.