Shebang works only for text scripts, not binary files. Nevertheless, you can use binfmt_misc
to execute *.pyc
files directly, as reported in this Python ML thread:
Linux, you can use binfmt_misc to make executables out of pyc code. Run:
import imp,sys,string
magic = string.join(["\\x%.2x" % ord(c) for c in imp.get_magic()],"")
reg = ':pyc:M::%s::%s:' % (magic, sys.executable)
open("/proc/sys/fs/binfmt_misc/register","wb").write(reg)
once on your Linux system (or, rather, at boot time), and all pyc
files become executable (if the x bit is set).
In Debian, installing the binfmt-support package will do that for you.
(emphasis is mine, note that this will apply to all Debian derivatives, including Ubuntu. The same solution works in Fedora too).