Perhaps a solution would be to compile your program as an executable? You could distribute the source with the binary and just document the fact that it uses modules which have to be present if the user wants to recompile with changes. It would work out of the box, but for those that want to tinker, the source is there.