The use of __main__.py
to create executables
myprojectfolder/
|_ __main__.py
|_ __init__.py
Being __main__.py
:
print("Hello")
if you do
python myprojectfolder
Hello
it can also work in submodules if you have a subfolder just use the dot ``python myprojectfolder.subfolder and the main inside that folder will be executed
Python will execute the code in __main__.py
as this file is an entry point.
You can also zip the folder
python -m zipfile -c myproject.zip myprojectfolder
and now you can get rid of myprojectfolder source code and run
python myproject.zip
also you can easily obfuscate it and turn in to a binary like program
echo '#!/usr/bin/env python' >> myprogram
cat myproject.zip >>myprogram
chmod +x myprogram
Now you can delete myproject.zip and run
python myprogram
as seen on https://www.youtube.com/watch?v=0oTh1CXRaQ0
Great stuff! Thanks!