/usr/local/bin/python -> /usr/bin/env python
diff --git a/Demo/comparisons/regextest.py b/Demo/comparisons/regextest.py
index 35ee9ee..97564b7 100755
--- a/Demo/comparisons/regextest.py
+++ b/Demo/comparisons/regextest.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # 1)  Regular Expressions Test
 # 
diff --git a/Demo/comparisons/sortingtest.py b/Demo/comparisons/sortingtest.py
index 1de683b..d6c213c 100755
--- a/Demo/comparisons/sortingtest.py
+++ b/Demo/comparisons/sortingtest.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # 2)  Sorting Test
 # 
diff --git a/Demo/comparisons/systemtest.py b/Demo/comparisons/systemtest.py
index 26d9f54..f2533b1 100755
--- a/Demo/comparisons/systemtest.py
+++ b/Demo/comparisons/systemtest.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # 3)  System Test
 # 
diff --git a/Demo/ibrowse/ib.py b/Demo/ibrowse/ib.py
index 588270e..ce6e16a 100755
--- a/Demo/ibrowse/ib.py
+++ b/Demo/ibrowse/ib.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Call ibrowse (the info file browser) under UNIX.
 
diff --git a/Demo/parser/test_parser.py b/Demo/parser/test_parser.py
index e114d76..f91592f 100755
--- a/Demo/parser/test_parser.py
+++ b/Demo/parser/test_parser.py
@@ -1,4 +1,4 @@
-#! /projects/python/Python-1.4b2/python
+#! /usr/bin/env python
 #  (Force the script to use the latest build.)
 #
 #  test_parser.py
diff --git a/Demo/pdist/RCSProxy.py b/Demo/pdist/RCSProxy.py
index ed55e9f..e29090c 100755
--- a/Demo/pdist/RCSProxy.py
+++ b/Demo/pdist/RCSProxy.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 """RCS Proxy.
 
diff --git a/Demo/pdist/makechangelog.py b/Demo/pdist/makechangelog.py
index ec7f116..5a0cf79 100755
--- a/Demo/pdist/makechangelog.py
+++ b/Demo/pdist/makechangelog.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 """Turn a pile of RCS log output into ChangeLog file entries.
 
diff --git a/Demo/pdist/rcvs.py b/Demo/pdist/rcvs.py
index 7920c18..9129c28 100755
--- a/Demo/pdist/rcvs.py
+++ b/Demo/pdist/rcvs.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 """Remote CVS -- command line interface"""
 
diff --git a/Demo/pdist/rrcs.py b/Demo/pdist/rrcs.py
index 4f04198..ecb01a2 100755
--- a/Demo/pdist/rrcs.py
+++ b/Demo/pdist/rrcs.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 "Remote RCS -- command line interface"
 
diff --git a/Demo/scripts/eqfix.py b/Demo/scripts/eqfix.py
index 794221a..583d54e 100755
--- a/Demo/scripts/eqfix.py
+++ b/Demo/scripts/eqfix.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Fix Python source files to use the new equality test operator, i.e.,
 #	if x = y: ...
diff --git a/Demo/scripts/fact.py b/Demo/scripts/fact.py
index bf49afc..6cc389e 100755
--- a/Demo/scripts/fact.py
+++ b/Demo/scripts/fact.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Factorize numbers.
 # The algorithm is not efficient, but easy to understand.
diff --git a/Demo/scripts/from.py b/Demo/scripts/from.py
index 4c01b4c..9f749ae 100755
--- a/Demo/scripts/from.py
+++ b/Demo/scripts/from.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Print From and Subject of messages in $MAIL.
 # Extension to multiple mailboxes and other bells & whistles are left
diff --git a/Demo/scripts/ftpstats.py b/Demo/scripts/ftpstats.py
index 9c643fe..e931751 100755
--- a/Demo/scripts/ftpstats.py
+++ b/Demo/scripts/ftpstats.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Extract statistics from ftp daemon log.
 
diff --git a/Demo/scripts/lpwatch.py b/Demo/scripts/lpwatch.py
index af7d914..9f051eb 100755
--- a/Demo/scripts/lpwatch.py
+++ b/Demo/scripts/lpwatch.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Watch line printer queue(s).
 # Intended for BSD 4.3 lpq.
diff --git a/Demo/scripts/makedir.py b/Demo/scripts/makedir.py
index 563c83f..58efe0e 100755
--- a/Demo/scripts/makedir.py
+++ b/Demo/scripts/makedir.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Like mkdir, but also make intermediate directories if necessary.
 # It is not an error if the given directory already exists (as long
diff --git a/Demo/scripts/markov.py b/Demo/scripts/markov.py
index 6a6d2b2..6bd62d0 100755
--- a/Demo/scripts/markov.py
+++ b/Demo/scripts/markov.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 class Markov:
 	def __init__(self, histsize, choice):
diff --git a/Demo/scripts/mboxconvert.py b/Demo/scripts/mboxconvert.py
index ecd6965..08e0d0c 100755
--- a/Demo/scripts/mboxconvert.py
+++ b/Demo/scripts/mboxconvert.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Convert  MH directories (1 message per file) or MMDF mailboxes (4x^A
 # delimited) to unix mailbox (From ... delimited) on stdout.
diff --git a/Demo/scripts/mkrcs.py b/Demo/scripts/mkrcs.py
index 2009f8c..36a35ea 100755
--- a/Demo/scripts/mkrcs.py
+++ b/Demo/scripts/mkrcs.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # A rather specialized script to make sure that a symbolic link named
 # RCS exists pointing to a real RCS directory in a parallel tree
diff --git a/Demo/scripts/mpzpi.py b/Demo/scripts/mpzpi.py
index 776c095..93c74aa 100755
--- a/Demo/scripts/mpzpi.py
+++ b/Demo/scripts/mpzpi.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 # Print digits of pi forever.
 #
 # The algorithm, using Python's 'long' integers ("bignums"), works
diff --git a/Demo/scripts/newslist.py b/Demo/scripts/newslist.py
index 4c5376d..2aa2b18 100755
--- a/Demo/scripts/newslist.py
+++ b/Demo/scripts/newslist.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 #######################################################################
 # Newslist  $Revision$
 #
diff --git a/Demo/scripts/pi.py b/Demo/scripts/pi.py
index 200cb4a..e73e7ec 100755
--- a/Demo/scripts/pi.py
+++ b/Demo/scripts/pi.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Print digits of pi forever.
 #
diff --git a/Demo/scripts/pp.py b/Demo/scripts/pp.py
index eaf7e41..2496046 100755
--- a/Demo/scripts/pp.py
+++ b/Demo/scripts/pp.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Emulate some Perl command line options.
 # Usage: pp [-a] [-c] [-d] [-e scriptline] [-F fieldsep] [-n] [-p] [file] ...
diff --git a/Demo/scripts/primes.py b/Demo/scripts/primes.py
index 3e6a646..477c57b 100755
--- a/Demo/scripts/primes.py
+++ b/Demo/scripts/primes.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Print prime numbers in a given range
 
diff --git a/Demo/scripts/script.py b/Demo/scripts/script.py
index 04e7ecb..cbad367 100755
--- a/Demo/scripts/script.py
+++ b/Demo/scripts/script.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 # script.py -- Make typescript of terminal session.
 # Usage:
 #	-a	Append to typescript.
diff --git a/Demo/scripts/unbirthday.py b/Demo/scripts/unbirthday.py
index cb018b6..2c515c4 100755
--- a/Demo/scripts/unbirthday.py
+++ b/Demo/scripts/unbirthday.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Calculate your unbirthday count (see Alice in Wonderland).
 # This is defined as the number of days from your birth until today
diff --git a/Demo/scripts/update.py b/Demo/scripts/update.py
index e8f6283..2db65dc 100755
--- a/Demo/scripts/update.py
+++ b/Demo/scripts/update.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Update a bunch of files according to a script.
 # The input file contains lines of the form <filename>:<lineno>:<text>,
diff --git a/Demo/sgi/al/broadcast.py b/Demo/sgi/al/broadcast.py
index ce4875e..9d88dac 100755
--- a/Demo/sgi/al/broadcast.py
+++ b/Demo/sgi/al/broadcast.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # broadcast [port]
 #
diff --git a/Demo/sgi/al/radio.py b/Demo/sgi/al/radio.py
index a6f6809..b9d30d2 100755
--- a/Demo/sgi/al/radio.py
+++ b/Demo/sgi/al/radio.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # radio [port]
 #
diff --git a/Demo/sgi/al/unicast.py b/Demo/sgi/al/unicast.py
index c9f3111..0d537b1 100755
--- a/Demo/sgi/al/unicast.py
+++ b/Demo/sgi/al/unicast.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # unicast host [port]
 #
diff --git a/Demo/sgi/audio/play.py b/Demo/sgi/audio/play.py
index adc7625..68a6a31 100755
--- a/Demo/sgi/audio/play.py
+++ b/Demo/sgi/audio/play.py
@@ -1,4 +1,4 @@
-#! /usr/local/python
+#! /usr/bin/env python
 
 import sys
 import audio
diff --git a/Demo/sgi/audio_stdwin/jukebox.py b/Demo/sgi/audio_stdwin/jukebox.py
index b223992..2aaaa83 100755
--- a/Demo/sgi/audio_stdwin/jukebox.py
+++ b/Demo/sgi/audio_stdwin/jukebox.py
@@ -1,4 +1,4 @@
-#! /usr/local/python
+#! /usr/bin/env python
 
 # JUKEBOX: browse directories full of sampled sound files.
 #
diff --git a/Demo/sgi/audio_stdwin/rec.py b/Demo/sgi/audio_stdwin/rec.py
index 0caba89..76e924e 100755
--- a/Demo/sgi/audio_stdwin/rec.py
+++ b/Demo/sgi/audio_stdwin/rec.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 import sys
 import audio
diff --git a/Demo/sgi/audio_stdwin/vumeter.py b/Demo/sgi/audio_stdwin/vumeter.py
index bfee66e..e27c538 100755
--- a/Demo/sgi/audio_stdwin/vumeter.py
+++ b/Demo/sgi/audio_stdwin/vumeter.py
@@ -1,4 +1,4 @@
-#! /usr/local/python
+#! /usr/bin/env python
 
 import audio
 import stdwin
diff --git a/Demo/sgi/gl/backface.py b/Demo/sgi/gl/backface.py
index 39929be..41c69d6 100755
--- a/Demo/sgi/gl/backface.py
+++ b/Demo/sgi/gl/backface.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 #   backface
 #
diff --git a/Demo/sgi/gl/glinfo.py b/Demo/sgi/gl/glinfo.py
index 2b6c356..dae99f1 100755
--- a/Demo/sgi/gl/glinfo.py
+++ b/Demo/sgi/gl/glinfo.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Print the values of all values that can be inquired with getgdesc().
 # See man getgdesc() for a description.
diff --git a/Demo/sgi/gl/kites.py b/Demo/sgi/gl/kites.py
index 6e3dea6..be56513 100755
--- a/Demo/sgi/gl/kites.py
+++ b/Demo/sgi/gl/kites.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # *** This only works correctly on a 24 bit-plane machine. ***
 #
diff --git a/Demo/sgi/gl/kunst.py b/Demo/sgi/gl/kunst.py
index 2055e52..6d9e04d 100755
--- a/Demo/sgi/gl/kunst.py
+++ b/Demo/sgi/gl/kunst.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 # Simulate the artwork in the hall.
 # Jack Jansen, Feb 91.
 
diff --git a/Demo/sgi/gl/mclock.py b/Demo/sgi/gl/mclock.py
index ec39de9..b1dfa1b 100755
--- a/Demo/sgi/gl/mclock.py
+++ b/Demo/sgi/gl/mclock.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # "M Clock"
 #
diff --git a/Demo/sgi/gl/mixing.py b/Demo/sgi/gl/mixing.py
index 57dea9c..9a4c9c1 100755
--- a/Demo/sgi/gl/mixing.py
+++ b/Demo/sgi/gl/mixing.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Use Gouraud shading to mix colors.  Requires Z-buffer.
 # It changes the color assignments so fast that you see white.
diff --git a/Demo/sgi/gl/nurbs.py b/Demo/sgi/gl/nurbs.py
index af2039b..c33cb4e 100755
--- a/Demo/sgi/gl/nurbs.py
+++ b/Demo/sgi/gl/nurbs.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Rotate a 3D surface created using NURBS.
 #
diff --git a/Demo/sgi/gl/zrgb.py b/Demo/sgi/gl/zrgb.py
index 6561e11..2ad68c9 100755
--- a/Demo/sgi/gl/zrgb.py
+++ b/Demo/sgi/gl/zrgb.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 #   zrgb  (Requires Z buffer.)
 #
diff --git a/Demo/sgi/video/Dsend.py b/Demo/sgi/video/Dsend.py
index da94c6f..7e197f7 100755
--- a/Demo/sgi/video/Dsend.py
+++ b/Demo/sgi/video/Dsend.py
@@ -1,4 +1,4 @@
-#!/ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Send live video UDP packets.
 # Usage: Vsend [-b] [-h height] [-p port] [-s size] [-t ttl] [-w width]
diff --git a/Demo/sgi/video/OldVcopy.py b/Demo/sgi/video/OldVcopy.py
index 61461f4..697a51a 100755
--- a/Demo/sgi/video/OldVcopy.py
+++ b/Demo/sgi/video/OldVcopy.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Copy a video file, interactively, frame-by-frame.
 
diff --git a/Demo/sgi/video/Vaddcache.py b/Demo/sgi/video/Vaddcache.py
index 6428fcb..4c8fdac 100755
--- a/Demo/sgi/video/Vaddcache.py
+++ b/Demo/sgi/video/Vaddcache.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Add a cache to each of the files given as command line arguments
 
diff --git a/Demo/sgi/video/Vb.py b/Demo/sgi/video/Vb.py
index 093bcf7..ec59f22 100755
--- a/Demo/sgi/video/Vb.py
+++ b/Demo/sgi/video/Vb.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Video bag of tricks: record video(+audio) in various formats and modes
 
diff --git a/Demo/sgi/video/Vcopy.py b/Demo/sgi/video/Vcopy.py
index 59c06a0..0861457 100755
--- a/Demo/sgi/video/Vcopy.py
+++ b/Demo/sgi/video/Vcopy.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Universal (non-interactive) CMIF video file copier.
 
diff --git a/Demo/sgi/video/Vedit.py b/Demo/sgi/video/Vedit.py
index 0174e9f..60ef49f 100755
--- a/Demo/sgi/video/Vedit.py
+++ b/Demo/sgi/video/Vedit.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Edit CMIF movies interactively -- copy one or more files to an output file
 
diff --git a/Demo/sgi/video/Vfix.py b/Demo/sgi/video/Vfix.py
index 6b26023..4870c1b 100755
--- a/Demo/sgi/video/Vfix.py
+++ b/Demo/sgi/video/Vfix.py
@@ -1,4 +1,4 @@
-#!/ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Copy a video file, fixing the line width to be a multiple of 4
 
diff --git a/Demo/sgi/video/Vinfo.py b/Demo/sgi/video/Vinfo.py
index c4177dc..0d9d294 100755
--- a/Demo/sgi/video/Vinfo.py
+++ b/Demo/sgi/video/Vinfo.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Print some info about a CMIF movie file
 
diff --git a/Demo/sgi/video/Vmkjpeg.py b/Demo/sgi/video/Vmkjpeg.py
index 4e4c28e..0c9687a 100755
--- a/Demo/sgi/video/Vmkjpeg.py
+++ b/Demo/sgi/video/Vmkjpeg.py
@@ -1,4 +1,4 @@
-#!/ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Compress an rgb or grey video file to jpeg format
 
diff --git a/Demo/sgi/video/Vplay.py b/Demo/sgi/video/Vplay.py
index 79b3ad41..176c0e5 100755
--- a/Demo/sgi/video/Vplay.py
+++ b/Demo/sgi/video/Vplay.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Play CMIF movie files
 
diff --git a/Demo/sgi/video/Vrec.py b/Demo/sgi/video/Vrec.py
index 9d90a80..b647bd3 100755
--- a/Demo/sgi/video/Vrec.py
+++ b/Demo/sgi/video/Vrec.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 #! /ufs/guido/bin/sgi/python-405
 
 # Capture a CMIF movie using the Indigo video library and board
diff --git a/Demo/sgi/video/Vrecb.py b/Demo/sgi/video/Vrecb.py
index ca81753..d65b35f 100755
--- a/Demo/sgi/video/Vrecb.py
+++ b/Demo/sgi/video/Vrecb.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Capture a CMIF movie using the Indigo video library and board in burst mode
 
diff --git a/Demo/sgi/video/Vreceive.py b/Demo/sgi/video/Vreceive.py
index f72c6a5..84aa5a5 100755
--- a/Demo/sgi/video/Vreceive.py
+++ b/Demo/sgi/video/Vreceive.py
@@ -1,4 +1,4 @@
-#!/ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Receive live video UDP packets.
 # Usage: Vreceive [port]
diff --git a/Demo/sgi/video/Vsend.py b/Demo/sgi/video/Vsend.py
index 223bbf3..4c47861 100755
--- a/Demo/sgi/video/Vsend.py
+++ b/Demo/sgi/video/Vsend.py
@@ -1,4 +1,4 @@
-#!/ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Send live video UDP packets.
 # Usage: Vsend [-b] [-h height] [-p port] [-s size] [-t ttl] [-w width]
diff --git a/Demo/sgi/video/Vstat.py b/Demo/sgi/video/Vstat.py
index cc0ecfb..a29b1ff 100755
--- a/Demo/sgi/video/Vstat.py
+++ b/Demo/sgi/video/Vstat.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Print the value of all video parameters
 
diff --git a/Demo/sgi/video/Vtime.py b/Demo/sgi/video/Vtime.py
index be161cc..34b3b44 100755
--- a/Demo/sgi/video/Vtime.py
+++ b/Demo/sgi/video/Vtime.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Manipulate the time base of CMIF movies
 
diff --git a/Demo/sgi/video/Vunjpeg.py b/Demo/sgi/video/Vunjpeg.py
index 9f21f95..3321d23 100755
--- a/Demo/sgi/video/Vunjpeg.py
+++ b/Demo/sgi/video/Vunjpeg.py
@@ -1,4 +1,4 @@
-#!/ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Decompress a jpeg or jpeggrey video file to rgb format
 
diff --git a/Demo/sgi/video/aplay.py b/Demo/sgi/video/aplay.py
index 7b10027..a11f95a 100755
--- a/Demo/sgi/video/aplay.py
+++ b/Demo/sgi/video/aplay.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Play synchronous video and audio.
 # Highly experimental!
diff --git a/Demo/sgi/video/video2rgb.py b/Demo/sgi/video/video2rgb.py
index 7070a93..bbfa6b8 100755
--- a/Demo/sgi/video/video2rgb.py
+++ b/Demo/sgi/video/video2rgb.py
@@ -1,4 +1,4 @@
-#! /ufs/guido/bin/sgi/python
+#! /usr/bin/env python
 
 # Convert CMIF movie file(s) to a sequence of rgb images
 
diff --git a/Demo/sockets/echosvr.py b/Demo/sockets/echosvr.py
index acf0a39..c1acf6c 100755
--- a/Demo/sockets/echosvr.py
+++ b/Demo/sockets/echosvr.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Python implementation of an 'echo' tcp server: echo all data it receives.
 #
diff --git a/Demo/sockets/finger.py b/Demo/sockets/finger.py
index 71e307f..b941d0e 100755
--- a/Demo/sockets/finger.py
+++ b/Demo/sockets/finger.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Python interface to the Internet finger daemon.
 #
diff --git a/Demo/sockets/gopher.py b/Demo/sockets/gopher.py
index f30ab0f..a2ab3a2 100755
--- a/Demo/sockets/gopher.py
+++ b/Demo/sockets/gopher.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # A simple gopher client.
 #
diff --git a/Demo/sockets/rpython.py b/Demo/sockets/rpython.py
index 9548301..77b2a7a 100755
--- a/Demo/sockets/rpython.py
+++ b/Demo/sockets/rpython.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Remote python client.
 # Execute Python commands remotely and send output back.
diff --git a/Demo/sockets/rpythond.py b/Demo/sockets/rpythond.py
index f67570b..e8cdaa9 100755
--- a/Demo/sockets/rpythond.py
+++ b/Demo/sockets/rpythond.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Remote python server.
 # Execute Python commands remotely and send output back.
diff --git a/Demo/sockets/telnet.py b/Demo/sockets/telnet.py
index 3bb36ef..e83ce55 100755
--- a/Demo/sockets/telnet.py
+++ b/Demo/sockets/telnet.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Minimal interface to the Internet telnet protocol.
 #
diff --git a/Demo/sockets/throughput.py b/Demo/sockets/throughput.py
index fd946b4..58975bf 100755
--- a/Demo/sockets/throughput.py
+++ b/Demo/sockets/throughput.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Test network throughput.
 #
diff --git a/Demo/sockets/udpecho.py b/Demo/sockets/udpecho.py
index 8839eb8..8fce547 100755
--- a/Demo/sockets/udpecho.py
+++ b/Demo/sockets/udpecho.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Client and server for udp (datagram) echo.
 #
diff --git a/Demo/stdwin/FormTest.py b/Demo/stdwin/FormTest.py
index ce62802..15e3b36 100755
--- a/Demo/stdwin/FormTest.py
+++ b/Demo/stdwin/FormTest.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 testlabels = 'Name', 'Address', 'City', 'Country', 'Comments'
 
diff --git a/Demo/stdwin/RadioGroups.py b/Demo/stdwin/RadioGroups.py
index fcd693f..93b6a2d 100755
--- a/Demo/stdwin/RadioGroups.py
+++ b/Demo/stdwin/RadioGroups.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # radiogroups.py
 #
diff --git a/Demo/stdwin/TestCSplit.py b/Demo/stdwin/TestCSplit.py
index 9297e46..720b8c3 100755
--- a/Demo/stdwin/TestCSplit.py
+++ b/Demo/stdwin/TestCSplit.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # TestCSplit
 
diff --git a/Demo/stdwin/TestDirList.py b/Demo/stdwin/TestDirList.py
index 7fb45ae..321c2d9 100755
--- a/Demo/stdwin/TestDirList.py
+++ b/Demo/stdwin/TestDirList.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # TestDirList
 
diff --git a/Demo/stdwin/TestFormSplit.py b/Demo/stdwin/TestFormSplit.py
index 2750378..e67c3f9 100755
--- a/Demo/stdwin/TestFormSplit.py
+++ b/Demo/stdwin/TestFormSplit.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # TestFormSplit
 
diff --git a/Demo/stdwin/TestSched.py b/Demo/stdwin/TestSched.py
index f6bbe23..29274e6 100755
--- a/Demo/stdwin/TestSched.py
+++ b/Demo/stdwin/TestSched.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # TestSched
 
diff --git a/Demo/stdwin/TestTextEdit.py b/Demo/stdwin/TestTextEdit.py
index 9f4c861..b15b049 100755
--- a/Demo/stdwin/TestTextEdit.py
+++ b/Demo/stdwin/TestTextEdit.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Test TextEdit widgets
 
diff --git a/Demo/stdwin/clock.py b/Demo/stdwin/clock.py
index 4328b7b..90f1d22 100755
--- a/Demo/stdwin/clock.py
+++ b/Demo/stdwin/clock.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # 'clock' -- A simple alarm clock
 
diff --git a/Demo/stdwin/ibrowse/ib.py b/Demo/stdwin/ibrowse/ib.py
index 588270e..ce6e16a 100755
--- a/Demo/stdwin/ibrowse/ib.py
+++ b/Demo/stdwin/ibrowse/ib.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Call ibrowse (the info file browser) under UNIX.
 
diff --git a/Demo/stdwin/jukebox.py b/Demo/stdwin/jukebox.py
index e218e66..e3c9db8 100755
--- a/Demo/stdwin/jukebox.py
+++ b/Demo/stdwin/jukebox.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # XXX This only works on SGIs running IRIX 4.0 or higher
 
diff --git a/Demo/stdwin/lpwin.py b/Demo/stdwin/lpwin.py
index eaf98be..519b428 100755
--- a/Demo/stdwin/lpwin.py
+++ b/Demo/stdwin/lpwin.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Watch line printer queues (only works with BSD 4.3 lpq).
 #
diff --git a/Demo/stdwin/microedit.py b/Demo/stdwin/microedit.py
index eca093a..1091676 100755
--- a/Demo/stdwin/microedit.py
+++ b/Demo/stdwin/microedit.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # A minimal single-window text editor using STDWIN's text objects.
 #
diff --git a/Demo/stdwin/miniedit.py b/Demo/stdwin/miniedit.py
index 3d4aeea..9a11c2d 100755
--- a/Demo/stdwin/miniedit.py
+++ b/Demo/stdwin/miniedit.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # A miniature multi-window editor using STDWIN's text objects.
 #
diff --git a/Demo/stdwin/python.py b/Demo/stdwin/python.py
index 29b0495..8a3dfce 100755
--- a/Demo/stdwin/python.py
+++ b/Demo/stdwin/python.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # A STDWIN-based front end for the Python interpreter.
 #
diff --git a/Demo/stdwin/wdiff.py b/Demo/stdwin/wdiff.py
index 60be86d..b8c8da3 100755
--- a/Demo/stdwin/wdiff.py
+++ b/Demo/stdwin/wdiff.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # A window-oriented recursive diff utility.
 # NB: This uses undocumented window classing modules.
diff --git a/Demo/tkinter/guido/MimeViewer.py b/Demo/tkinter/guido/MimeViewer.py
index 06b7a88..2b98579 100755
--- a/Demo/tkinter/guido/MimeViewer.py
+++ b/Demo/tkinter/guido/MimeViewer.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # View a single MIME multipart message.
 # Display each part as a box.
diff --git a/Demo/tkinter/guido/dialog.py b/Demo/tkinter/guido/dialog.py
index 500a73d..62ad3e3 100755
--- a/Demo/tkinter/guido/dialog.py
+++ b/Demo/tkinter/guido/dialog.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # A Python function that generates dialog boxes with a text message,
 # optional bitmap, and any number of buttons.
diff --git a/Demo/tkinter/guido/electrons.py b/Demo/tkinter/guido/electrons.py
index 7296955..f3b8008 100755
--- a/Demo/tkinter/guido/electrons.py
+++ b/Demo/tkinter/guido/electrons.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Simulate "electrons" migrating across the screen.  
 # An optional bitmap file in can be in the background.
diff --git a/Demo/tkinter/guido/kill.py b/Demo/tkinter/guido/kill.py
index 24335cc..577af8b 100755
--- a/Demo/tkinter/guido/kill.py
+++ b/Demo/tkinter/guido/kill.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#! /usr/bin/env python
 # Tkinter interface to Linux `kill' command.
 
 from Tkinter import *
diff --git a/Demo/tkinter/guido/mbox.py b/Demo/tkinter/guido/mbox.py
index 3382311..9aea7ee 100755
--- a/Demo/tkinter/guido/mbox.py
+++ b/Demo/tkinter/guido/mbox.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Scan MH folder, display results in window
 
diff --git a/Demo/tkinter/guido/rmt.py b/Demo/tkinter/guido/rmt.py
index f9f1785..6e9a828 100755
--- a/Demo/tkinter/guido/rmt.py
+++ b/Demo/tkinter/guido/rmt.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # A Python program implementing rmt, an application for remotely
 # controlling other Tk applications.
diff --git a/Demo/tkinter/guido/svkill.py b/Demo/tkinter/guido/svkill.py
index dd80856..1c54e4b 100755
--- a/Demo/tkinter/guido/svkill.py
+++ b/Demo/tkinter/guido/svkill.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Tkinter interface to SYSV `ps' and `kill' commands.
 
diff --git a/Demo/tkinter/guido/tkman.py b/Demo/tkinter/guido/tkman.py
index 34ca4a3..70aaae3 100755
--- a/Demo/tkinter/guido/tkman.py
+++ b/Demo/tkinter/guido/tkman.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Tk man page browser -- currently only shows the Tcl/Tk man pages
 
diff --git a/Demo/tkinter/www/www1.py b/Demo/tkinter/www/www1.py
index dc30e21..558fd74 100755
--- a/Demo/tkinter/www/www1.py
+++ b/Demo/tkinter/www/www1.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www1.py -- print the contents of a URL on stdout
 
diff --git a/Demo/tkinter/www/www10.py b/Demo/tkinter/www/www10.py
index def5196..eef5220 100755
--- a/Demo/tkinter/www/www10.py
+++ b/Demo/tkinter/www/www10.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www10.py -- display the contents of a URL in a Text widget
 # - set window title
diff --git a/Demo/tkinter/www/www11.py b/Demo/tkinter/www/www11.py
index 59b71c0..0b13ce1 100755
--- a/Demo/tkinter/www/www11.py
+++ b/Demo/tkinter/www/www11.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www11.py -- display the contents of a URL in a Text widget
 # - set window title
diff --git a/Demo/tkinter/www/www12.py b/Demo/tkinter/www/www12.py
index 2e870c4..78884c9 100755
--- a/Demo/tkinter/www/www12.py
+++ b/Demo/tkinter/www/www12.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www12.py -- display the contents of a URL in a Text widget
 # - set window title
diff --git a/Demo/tkinter/www/www13.py b/Demo/tkinter/www/www13.py
index af9b176..90de016 100755
--- a/Demo/tkinter/www/www13.py
+++ b/Demo/tkinter/www/www13.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www13.py -- display the contents of a URL in a Text widget
 # - set window title
diff --git a/Demo/tkinter/www/www2.py b/Demo/tkinter/www/www2.py
index d14306a..3501803 100755
--- a/Demo/tkinter/www/www2.py
+++ b/Demo/tkinter/www/www2.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www2.py -- print the contents of a URL on stdout
 # - error checking
diff --git a/Demo/tkinter/www/www3.py b/Demo/tkinter/www/www3.py
index eb8b07f..e1b1bc5 100755
--- a/Demo/tkinter/www/www3.py
+++ b/Demo/tkinter/www/www3.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www3.py -- print the contents of a URL on stdout
 # - error checking
diff --git a/Demo/tkinter/www/www4.py b/Demo/tkinter/www/www4.py
index 4351004..b916dca 100755
--- a/Demo/tkinter/www/www4.py
+++ b/Demo/tkinter/www/www4.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www4.py -- display the contents of a URL in a Text widget
 
diff --git a/Demo/tkinter/www/www5.py b/Demo/tkinter/www/www5.py
index 0ea451f..83f6ab9 100755
--- a/Demo/tkinter/www/www5.py
+++ b/Demo/tkinter/www/www5.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www5.py -- display the contents of a URL in a Text widget
 # - set window title
diff --git a/Demo/tkinter/www/www6.py b/Demo/tkinter/www/www6.py
index a9b0698..a8824fa 100755
--- a/Demo/tkinter/www/www6.py
+++ b/Demo/tkinter/www/www6.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www6.py -- display the contents of a URL in a Text widget
 # - set window title
diff --git a/Demo/tkinter/www/www7.py b/Demo/tkinter/www/www7.py
index cb4313d..be66dc8 100755
--- a/Demo/tkinter/www/www7.py
+++ b/Demo/tkinter/www/www7.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www7.py -- display the contents of a URL in a Text widget
 # - set window title
diff --git a/Demo/tkinter/www/www8.py b/Demo/tkinter/www/www8.py
index 868a7ed..097121b 100755
--- a/Demo/tkinter/www/www8.py
+++ b/Demo/tkinter/www/www8.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www8.py -- display the contents of a URL in a Text widget
 # - set window title
diff --git a/Demo/tkinter/www/www9.py b/Demo/tkinter/www/www9.py
index 60b46ed..12ca0f3 100755
--- a/Demo/tkinter/www/www9.py
+++ b/Demo/tkinter/www/www9.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # www9.py -- display the contents of a URL in a Text widget
 # - set window title
diff --git a/Lib/cgi.py b/Lib/cgi.py
index 3f1a1c4..7fab38d 100755
--- a/Lib/cgi.py
+++ b/Lib/cgi.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#! /usr/bin/env python
 
 """Support module for CGI (Common Gateway Interface) scripts.
 
@@ -216,10 +216,14 @@
 that the first line of the script contains "#!" starting in column 1
 followed by the pathname of the Python interpreter, for instance:
 
-	#!/usr/local/bin/python
+	#! /usr/local/bin/python
 
 Make sure the Python interpreter exists and is executable by "others".
 
+(Note that it's probably not a good idea to use #! /usr/bin/env python
+here, since the Python interpreter may not be on the default path
+given to CGI scripts!!!)
+
 Make sure that any files your script needs to read or write are
 readable or writable, respectively, by "others" -- their mode should
 be 644 for readable and 666 for writable.  This is because, for
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index 3d7d2fc..36f58f5 100755
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#! /usr/bin/env python
 
 """Classes to handle Unix style, MMDF style, and MH style mailboxes."""
 
diff --git a/Lib/mimify.py b/Lib/mimify.py
index 0b2bb1b..ce4c4ba 100755
--- a/Lib/mimify.py
+++ b/Lib/mimify.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#! /usr/bin/env python
 
 '''Mimification and unmimification of mail messages.
 
diff --git a/Lib/pdb.py b/Lib/pdb.py
index 62927a3..42080cc 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # pdb.py -- finally, a Python debugger!
 
diff --git a/Lib/profile.py b/Lib/profile.py
index 51e95cb..582bd8a 100755
--- a/Lib/profile.py
+++ b/Lib/profile.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 #
 # Class for profiling python code. rev 1.0  6/2/94
 #
diff --git a/Lib/test/pystone.py b/Lib/test/pystone.py
index 954e6c9..c388982 100755
--- a/Lib/test/pystone.py
+++ b/Lib/test/pystone.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 """
 "PYSTONE" Benchmark Program
diff --git a/Misc/Fixcprt.py b/Misc/Fixcprt.py
index fa28aaa..f533775 100755
--- a/Misc/Fixcprt.py
+++ b/Misc/Fixcprt.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 import regex
 import regsub
diff --git a/Misc/faq2html.py b/Misc/faq2html.py
index 84346b4..32f3e79 100755
--- a/Misc/faq2html.py
+++ b/Misc/faq2html.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#! /usr/bin/env python
 
 # A somewhat-generalized FAQ-to-HTML converter (by Ka-Ping Yee, 10 Sept 96)
 
diff --git a/Misc/renumber.py b/Misc/renumber.py
index f2299b6..cc2d075 100755
--- a/Misc/renumber.py
+++ b/Misc/renumber.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Renumber the Python FAQ
 
diff --git a/Tools/freeze/freeze.py b/Tools/freeze/freeze.py
index eb91ecb..7018aca 100755
--- a/Tools/freeze/freeze.py
+++ b/Tools/freeze/freeze.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 """Freeze a Python script into a binary.
 
diff --git a/Tools/modulator/Tkextra.py b/Tools/modulator/Tkextra.py
index 25681ae..15b16a9 100755
--- a/Tools/modulator/Tkextra.py
+++ b/Tools/modulator/Tkextra.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # A Python function that generates dialog boxes with a text message,
 # optional bitmap, and any number of buttons.
diff --git a/Tools/modulator/modulator.py b/Tools/modulator/modulator.py
index 02ad80d..da3ce12 100755
--- a/Tools/modulator/modulator.py
+++ b/Tools/modulator/modulator.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 #
 # Modulator - Generate skeleton modules.
 #
diff --git a/Tools/scripts/byteyears.py b/Tools/scripts/byteyears.py
index 4abdca6..bada5a5 100755
--- a/Tools/scripts/byteyears.py
+++ b/Tools/scripts/byteyears.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Print the product of age and size of each file, in suitable units.
 #
diff --git a/Tools/scripts/checkpyc.py b/Tools/scripts/checkpyc.py
index 6ef6492..6df0472 100755
--- a/Tools/scripts/checkpyc.py
+++ b/Tools/scripts/checkpyc.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 # Check that all ".pyc" files exist and are up-to-date
 # Uses module 'os'
 
diff --git a/Tools/scripts/classfix.py b/Tools/scripts/classfix.py
index e676051..53ea0b8 100755
--- a/Tools/scripts/classfix.py
+++ b/Tools/scripts/classfix.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # This script is obsolete -- it is kept for historical purposes only.
 #
diff --git a/Tools/scripts/copytime.py b/Tools/scripts/copytime.py
index 599e337..d01643b 100755
--- a/Tools/scripts/copytime.py
+++ b/Tools/scripts/copytime.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Copy one file's atime and mtime to another
 
diff --git a/Tools/scripts/dutree.py b/Tools/scripts/dutree.py
index 58d0b14..4cb9353 100755
--- a/Tools/scripts/dutree.py
+++ b/Tools/scripts/dutree.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 # Format du output in a tree shape
 
 import os, string, sys
diff --git a/Tools/scripts/eptags.py b/Tools/scripts/eptags.py
index 63b5781..86b6ee1 100755
--- a/Tools/scripts/eptags.py
+++ b/Tools/scripts/eptags.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # eptags
 #
diff --git a/Tools/scripts/findlinksto.py b/Tools/scripts/findlinksto.py
index d2fc430..06821cd 100755
--- a/Tools/scripts/findlinksto.py
+++ b/Tools/scripts/findlinksto.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # findlinksto
 #
diff --git a/Tools/scripts/fixcid.py b/Tools/scripts/fixcid.py
index c1df5f3..4c4d585 100755
--- a/Tools/scripts/fixcid.py
+++ b/Tools/scripts/fixcid.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Perform massive identifier substitution on C source files.
 # This actually tokenizes the files (to some extent) so it can
diff --git a/Tools/scripts/fixheader.py b/Tools/scripts/fixheader.py
index 8f121fa..774b907 100755
--- a/Tools/scripts/fixheader.py
+++ b/Tools/scripts/fixheader.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Add some standard cpp magic to a header file
 
diff --git a/Tools/scripts/ftpmirror.py b/Tools/scripts/ftpmirror.py
index 10520f9..7878847 100755
--- a/Tools/scripts/ftpmirror.py
+++ b/Tools/scripts/ftpmirror.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Mirror a remote ftp subtree into a local directory tree.
 # Basic usage: ftpmirror [options] host remotedir localdir
diff --git a/Tools/scripts/h2py.py b/Tools/scripts/h2py.py
index 581f92f..c34073d 100755
--- a/Tools/scripts/h2py.py
+++ b/Tools/scripts/h2py.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Read #define's and translate to Python code.
 # Handle #include statements.
diff --git a/Tools/scripts/ifdef.py b/Tools/scripts/ifdef.py
index 9d74be2..ff64425 100755
--- a/Tools/scripts/ifdef.py
+++ b/Tools/scripts/ifdef.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Selectively preprocess #ifdef / #ifndef statements.
 # Usage:
diff --git a/Tools/scripts/linktree.py b/Tools/scripts/linktree.py
index 3239434..73825c9 100755
--- a/Tools/scripts/linktree.py
+++ b/Tools/scripts/linktree.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # linktree
 #
diff --git a/Tools/scripts/lll.py b/Tools/scripts/lll.py
index 0043645..d107080 100755
--- a/Tools/scripts/lll.py
+++ b/Tools/scripts/lll.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Find symbolic links and show where they point to.
 # Arguments are directories to search; default is current directory.
diff --git a/Tools/scripts/methfix.py b/Tools/scripts/methfix.py
index 60f2a56..b0918d6 100755
--- a/Tools/scripts/methfix.py
+++ b/Tools/scripts/methfix.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Fix Python source files to avoid using 
 #	def method(self, (arg1, ..., argn)):
diff --git a/Tools/scripts/mkreal.py b/Tools/scripts/mkreal.py
index bc4dd13..a065c17 100755
--- a/Tools/scripts/mkreal.py
+++ b/Tools/scripts/mkreal.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # mkreal
 #
diff --git a/Tools/scripts/objgraph.py b/Tools/scripts/objgraph.py
index c6bbe66..4eab79b 100755
--- a/Tools/scripts/objgraph.py
+++ b/Tools/scripts/objgraph.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#! /usr/bin/env python
 
 # objgraph
 #
diff --git a/Tools/scripts/pdeps.py b/Tools/scripts/pdeps.py
index 8cf573f..fb730f1 100755
--- a/Tools/scripts/pdeps.py
+++ b/Tools/scripts/pdeps.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # pdeps
 #
diff --git a/Tools/scripts/pindent.py b/Tools/scripts/pindent.py
index 6432f4c..1845ed8 100755
--- a/Tools/scripts/pindent.py
+++ b/Tools/scripts/pindent.py
@@ -1,5 +1,4 @@
-#! /usr/local/bin/python
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # This file contains a class and a main program that perform two
 # related (though complimentary) formatting operations on Python
diff --git a/Tools/scripts/ptags.py b/Tools/scripts/ptags.py
index b8fc232..f63746e 100755
--- a/Tools/scripts/ptags.py
+++ b/Tools/scripts/ptags.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # ptags
 #
diff --git a/Tools/scripts/pystone.py b/Tools/scripts/pystone.py
index 954e6c9..c388982 100755
--- a/Tools/scripts/pystone.py
+++ b/Tools/scripts/pystone.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 """
 "PYSTONE" Benchmark Program
diff --git a/Tools/scripts/suff.py b/Tools/scripts/suff.py
index 491fd3b..826e236 100755
--- a/Tools/scripts/suff.py
+++ b/Tools/scripts/suff.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # suff
 #
diff --git a/Tools/scripts/sum5.py b/Tools/scripts/sum5.py
index fdb83fa..09bc686 100755
--- a/Tools/scripts/sum5.py
+++ b/Tools/scripts/sum5.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # print md5 checksum for files
 
diff --git a/Tools/scripts/which.py b/Tools/scripts/which.py
index 07c0d2e..0aff2cd 100755
--- a/Tools/scripts/which.py
+++ b/Tools/scripts/which.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # Variant of "which".
 # On stderr, near and total misses are reported.
diff --git a/Tools/scripts/xxci.py b/Tools/scripts/xxci.py
index 9ab5669..d8608a0 100755
--- a/Tools/scripts/xxci.py
+++ b/Tools/scripts/xxci.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#! /usr/bin/env python
 
 # xxci
 #