You could easily do this with something as simple as a .zip file containing all the files; while all files are exported to the same directory, then all of them should work! A crash occurs if there are many dependencies for modules, that is, they have additional folders that you need to find.
I also think that many people / companies write their own packaging systems so that all modules are in the 1.py file, which opens in the console and exports everything to the right place. This will require a significant amount of work, although you may try to find one ready. I followed this method, and he did not become too taxed. I had to unzip the zip files with the files in ...
As another solution, you can try PyExe (I think so) to export everything to a single .exe file (Windows only)
I personally havn't used setuptools, distribute or distutils, so I can not comment on them, unfortunately.
1 Another thing to keep in mind is the licenses for each module, some of which cannot be redistributed, so check first!
source share