Note that using "whatever version of python the name 'python' maps to in the current shell environment" is more error-prone that specifying which python you mean, such as by executing "/usr/bin/python setup.py" instead of executing "./setup.py". When you build tahoe (by running "make") it will make a copy of bin/allmydata-tahoe in instdir/bin/allmydata-tahoe with the shebang line rewritten to execute the specific version of python that was used when building instead of to execute "/usr/bin/env python".
However, it seems better that the default for lazy people be "whatever 'python' means currently" instead of "whatever 'python' meant to the manufacturer of your operating system".
-#!/usr/bin/python
+#!/usr/bin/env python
from allmydata.scripts import runner
runner.run()
-#! /usr/bin/python
+#! /usr/bin/env python
import os, sys, pickle
-#! /usr/bin/python
+#! /usr/bin/env python
from foolscap import Tub
from foolscap.eventual import eventually
-#! /usr/bin/python
+#! /usr/bin/env python
from distutils.core import setup
from distutils.core import Extension
-#! /usr/bin/python
+#! /usr/bin/env python
import sha as shamodule
import os, random
-#! /usr/bin/python
+#! /usr/bin/env python
import random, math, os, re
from twisted.python import usage
-#! /usr/bin/python
+#! /usr/bin/env python
import os, sys, signal, time
from twisted.python import usage
-#! /usr/bin/python
+#! /usr/bin/env python
import os, shutil
-#! /usr/bin/python
+#! /usr/bin/env python
from twisted.trial import unittest
from twisted.internet import defer
-#! /usr/bin/python
+#! /usr/bin/env python
from zope.interface import implements
from twisted.trial.itrial import IReporter