Execute qualquer arquivo como um aplicativo python

A partir do Python 2.6, você pode executar arquivos ZIP ou diretórios como programas Python – desde que contenham um arquivo __main__.py de nível superior. E como o Python usa detecção de arquivo mágico para determinar se o arquivo é um arquivo zip, você nem precisa usar uma extensão .zip. Além disso, se você preceder um caminho Shebang para o interpretador python para o arquivo zip, você pode executá-lo como um autônomo. Vamos ver um exemplo.

$ cd /tmp
$ mkdir tryit

$ cd tryit


# Create a python file called hi.py that prints "hello"
$ echo
'print "hello"' > hi.py

# Create __main__.py as the main entry point of the app
$ echo
'import hi' > __main__.py

# Zip it, ensuring that __main__.py is at very top-level
$ zip
-r foo.zip .

# Prepend python binary and ditch the .zip file extension
$ echo
'#!/usr/bin/env python' | cat - foo.zip > foo

# Make the file executable
$ chmod
+x foo

# See what file type it shows as on Linux
$ file foo

data
(although on my mac it says: a python script text executable)

Agora você pode simplesmente fornecer o arquivo a alguém e, contanto que eles tenham o python instalado em algum lugar, eles devem ser capazes de executá-lo com apenas:

$ ./foo
hello

O que torna isso impressionante é que o arquivo pode conter mil arquivos python e ainda funcionará.