summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xDemo/cgi/cgi1.py2
-rwxr-xr-xDemo/cgi/cgi2.py2
-rwxr-xr-xDemo/cgi/cgi3.py2
-rwxr-xr-xDemo/comparisons/regextest.py2
-rwxr-xr-xDemo/comparisons/sortingtest.py2
-rwxr-xr-xDemo/comparisons/systemtest.py2
-rwxr-xr-xDemo/curses/life.py2
-rw-r--r--Demo/curses/ncurses.py2
-rw-r--r--Demo/curses/rain.py2
-rwxr-xr-xDemo/curses/repeat.py2
-rw-r--r--Demo/curses/tclock.py2
-rw-r--r--Demo/distutils/test2to3/maintest.py2
-rwxr-xr-xDemo/parser/test_parser.py2
-rwxr-xr-xDemo/pdist/RCSProxy.py2
-rwxr-xr-xDemo/pdist/makechangelog.py2
-rwxr-xr-xDemo/pdist/rcvs.py2
-rwxr-xr-xDemo/pdist/rrcs.py2
-rwxr-xr-xDemo/pysvr/pysvr.py2
-rwxr-xr-xDemo/scripts/beer.py2
-rwxr-xr-xDemo/scripts/eqfix.py2
-rwxr-xr-xDemo/scripts/fact.py2
-rwxr-xr-xDemo/scripts/find-uname.py2
-rwxr-xr-xDemo/scripts/from.py2
-rwxr-xr-xDemo/scripts/lpwatch.py2
-rwxr-xr-xDemo/scripts/makedir.py2
-rwxr-xr-xDemo/scripts/markov.py2
-rwxr-xr-xDemo/scripts/mboxconvert.py2
-rwxr-xr-xDemo/scripts/morse.py2
-rwxr-xr-xDemo/scripts/newslist.py2
-rwxr-xr-xDemo/scripts/pi.py2
-rwxr-xr-xDemo/scripts/pp.py2
-rwxr-xr-xDemo/scripts/primes.py2
-rwxr-xr-xDemo/scripts/queens.py2
-rwxr-xr-xDemo/scripts/script.py2
-rwxr-xr-xDemo/scripts/unbirthday.py2
-rwxr-xr-xDemo/scripts/update.py2
-rwxr-xr-xDemo/sockets/echosvr.py2
-rwxr-xr-xDemo/sockets/finger.py2
-rwxr-xr-xDemo/sockets/gopher.py2
-rwxr-xr-xDemo/sockets/mcast.py2
-rwxr-xr-xDemo/sockets/rpython.py2
-rwxr-xr-xDemo/sockets/rpythond.py2
-rwxr-xr-xDemo/sockets/telnet.py2
-rwxr-xr-xDemo/sockets/throughput.py2
-rwxr-xr-xDemo/sockets/udpecho.py2
-rwxr-xr-xDemo/tkinter/guido/MimeViewer.py2
-rw-r--r--Demo/tkinter/guido/canvasevents.py2
-rwxr-xr-xDemo/tkinter/guido/dialog.py2
-rwxr-xr-xDemo/tkinter/guido/electrons.py2
-rwxr-xr-xDemo/tkinter/guido/kill.py2
-rwxr-xr-xDemo/tkinter/guido/mbox.py2
-rw-r--r--Demo/tkinter/guido/newmenubardemo.py2
-rwxr-xr-xDemo/tkinter/guido/rmt.py2
-rwxr-xr-xDemo/tkinter/guido/solitaire.py2
-rw-r--r--Demo/tkinter/guido/sortvisu.py2
-rwxr-xr-xDemo/tkinter/guido/svkill.py2
-rwxr-xr-xDemo/tkinter/guido/tkman.py2
-rw-r--r--Demo/turtle/tdemo_I_dontlike_tiltdemo.py2
-rw-r--r--Demo/turtle/tdemo_bytedesign.py2
-rw-r--r--Demo/turtle/tdemo_clock.py2
-rw-r--r--Demo/turtle/tdemo_forest.py2
-rw-r--r--Demo/turtle/tdemo_fractalcurves.py2
-rw-r--r--Demo/turtle/tdemo_lindenmayer_indian.py2
-rw-r--r--Demo/turtle/tdemo_minimal_hanoi.py2
-rw-r--r--Demo/turtle/tdemo_paint.py2
-rw-r--r--Demo/turtle/tdemo_peace.py2
-rw-r--r--Demo/turtle/tdemo_penrose.py2
-rw-r--r--Demo/turtle/tdemo_planet_and_moon.py2
-rw-r--r--Demo/turtle/tdemo_tree.py2
-rw-r--r--Demo/turtle/tdemo_yinyang.py2
-rw-r--r--Demo/turtle/turtleDemo.py2
-rw-r--r--Demo/turtle/turtledemo_two_canvases.py2
-rwxr-xr-xDemo/zlib/minigzip.py2
-rwxr-xr-xDemo/zlib/zlibdemo.py2
-rw-r--r--Doc/includes/email-alternative.py2
-rw-r--r--Doc/includes/email-dir.py2
-rw-r--r--Doc/includes/email-unpack.py2
-rwxr-xr-xDoc/tools/rstlint.py2
-rwxr-xr-xLib/base64.py2
-rwxr-xr-xLib/cProfile.py2
-rw-r--r--Lib/difflib.py2
-rw-r--r--Lib/http/cookies.py2
-rw-r--r--Lib/idlelib/PyShell.py2
-rwxr-xr-xLib/keyword.py2
-rwxr-xr-xLib/lib2to3/pgen2/token.py2
-rwxr-xr-xLib/lib2to3/tests/pytree_idempotency.py2
-rwxr-xr-xLib/mailbox.py2
-rwxr-xr-xLib/pdb.py2
-rwxr-xr-xLib/platform.py2
-rwxr-xr-xLib/profile.py2
-rwxr-xr-xLib/pydoc.py2
-rwxr-xr-xLib/quopri.py2
-rwxr-xr-xLib/smtpd.py2
-rwxr-xr-xLib/smtplib.py2
-rwxr-xr-xLib/symbol.py2
-rwxr-xr-xLib/tabnanny.py2
-rw-r--r--Lib/tarfile.py2
-rw-r--r--Lib/test/crashers/recursive_call.py2
-rw-r--r--Lib/test/curses_tests.py2
-rwxr-xr-xLib/test/pystone.py2
-rwxr-xr-xLib/test/re_tests.py2
-rwxr-xr-xLib/test/regrtest.py2
-rw-r--r--Lib/test/test___future__.py2
-rwxr-xr-xLib/test/test_array.py2
-rwxr-xr-xLib/test/test_binhex.py2
-rw-r--r--Lib/test/test_bz2.py2
-rw-r--r--Lib/test/test_cmd.py2
-rw-r--r--Lib/test/test_codecencodings_cn.py2
-rw-r--r--Lib/test/test_codecencodings_hk.py2
-rw-r--r--Lib/test/test_codecencodings_jp.py2
-rw-r--r--Lib/test/test_codecencodings_kr.py2
-rw-r--r--Lib/test/test_codecencodings_tw.py2
-rw-r--r--Lib/test/test_codecmaps_cn.py2
-rw-r--r--Lib/test/test_codecmaps_hk.py2
-rw-r--r--Lib/test/test_codecmaps_jp.py2
-rw-r--r--Lib/test/test_codecmaps_kr.py2
-rw-r--r--Lib/test/test_codecmaps_tw.py2
-rw-r--r--Lib/test/test_dbm.py2
-rw-r--r--Lib/test/test_dbm_dumb.py2
-rw-r--r--Lib/test/test_eof.py2
-rwxr-xr-xLib/test/test_errno.py2
-rw-r--r--Lib/test/test_gzip.py2
-rw-r--r--Lib/test/test_keywordonlyarg.py2
-rw-r--r--Lib/test/test_logging.py2
-rw-r--r--Lib/test/test_marshal.py2
-rw-r--r--Lib/test/test_multibytecodec.py2
-rw-r--r--Lib/test/test_multibytecodec_support.py2
-rw-r--r--Lib/test/test_multiprocessing.py2
-rw-r--r--Lib/test/test_popen.py2
-rw-r--r--Lib/test/test_random.py2
-rw-r--r--Lib/test/test_smtpnet.py2
-rw-r--r--Lib/test/test_socket.py2
-rw-r--r--Lib/test/test_tcl.py2
-rw-r--r--Lib/test/test_urllib2_localnet.py2
-rw-r--r--Lib/test/test_urllib2net.py2
-rw-r--r--Lib/test/test_urllibnet.py2
-rw-r--r--Lib/test/test_urlparse.py2
-rwxr-xr-xLib/test/test_userstring.py2
-rw-r--r--Lib/test/test_with.py2
-rw-r--r--Lib/test/test_xmlrpc_net.py2
-rw-r--r--Lib/timeit.py2
-rwxr-xr-xLib/token.py2
-rw-r--r--Lib/trace.py2
-rwxr-xr-xLib/uu.py2
-rw-r--r--Lib/webbrowser.py2
-rwxr-xr-xPython/makeopcodetargets.py2
-rwxr-xr-xTools/faqwiz/faqw.py2
-rwxr-xr-xTools/freeze/freeze.py2
-rw-r--r--Tools/i18n/makelocalealias.py2
-rwxr-xr-xTools/i18n/msgfmt.py2
-rwxr-xr-xTools/i18n/pygettext.py2
-rwxr-xr-xTools/modulator/Tkextra.py2
-rwxr-xr-xTools/modulator/modulator.py2
-rwxr-xr-xTools/scripts/byteyears.py2
-rwxr-xr-xTools/scripts/checkappend.py2
-rwxr-xr-xTools/scripts/checkpyc.py2
-rwxr-xr-xTools/scripts/classfix.py2
-rw-r--r--Tools/scripts/cleanfuture.py2
-rw-r--r--Tools/scripts/combinerefs.py2
-rwxr-xr-xTools/scripts/copytime.py2
-rwxr-xr-xTools/scripts/crlf.py2
-rwxr-xr-xTools/scripts/cvsfiles.py2
-rw-r--r--Tools/scripts/db2pickle.py2
-rwxr-xr-xTools/scripts/dutree.py2
-rwxr-xr-xTools/scripts/eptags.py2
-rw-r--r--Tools/scripts/find_recursionlimit.py2
-rwxr-xr-xTools/scripts/finddiv.py2
-rwxr-xr-xTools/scripts/findlinksto.py2
-rwxr-xr-xTools/scripts/findnocoding.py2
-rwxr-xr-xTools/scripts/fixcid.py2
-rwxr-xr-xTools/scripts/fixdiv.py2
-rwxr-xr-xTools/scripts/fixheader.py2
-rwxr-xr-xTools/scripts/fixnotice.py2
-rwxr-xr-xTools/scripts/fixps.py2
-rwxr-xr-xTools/scripts/ftpmirror.py2
-rwxr-xr-xTools/scripts/google.py2
-rwxr-xr-xTools/scripts/gprof2html.py2
-rwxr-xr-xTools/scripts/h2py.py2
-rwxr-xr-xTools/scripts/ifdef.py2
-rwxr-xr-xTools/scripts/lfcr.py2
-rwxr-xr-xTools/scripts/linktree.py2
-rwxr-xr-xTools/scripts/lll.py2
-rwxr-xr-xTools/scripts/logmerge.py2
-rw-r--r--Tools/scripts/md5sum.py2
-rwxr-xr-xTools/scripts/methfix.py2
-rwxr-xr-xTools/scripts/mkreal.py2
-rwxr-xr-xTools/scripts/ndiff.py2
-rwxr-xr-xTools/scripts/nm2def.py2
-rwxr-xr-xTools/scripts/objgraph.py2
-rwxr-xr-xTools/scripts/parseentities.py2
-rwxr-xr-xTools/scripts/pdeps.py2
-rw-r--r--Tools/scripts/pickle2db.py2
-rwxr-xr-xTools/scripts/pindent.py2
-rwxr-xr-xTools/scripts/ptags.py2
-rw-r--r--Tools/scripts/pysource.py2
-rwxr-xr-xTools/scripts/reindent-rst.py2
-rwxr-xr-xTools/scripts/reindent.py2
-rwxr-xr-xTools/scripts/rgrep.py2
-rwxr-xr-xTools/scripts/serve.py2
-rwxr-xr-xTools/scripts/suff.py2
-rw-r--r--Tools/scripts/svneol.py2
-rwxr-xr-xTools/scripts/texi2html.py2
-rwxr-xr-xTools/scripts/treesync.py2
-rwxr-xr-xTools/scripts/untabify.py2
-rwxr-xr-xTools/scripts/which.py2
-rwxr-xr-xTools/scripts/xxci.py2
-rw-r--r--Tools/ssl/get-remote-certificate.py2
-rw-r--r--Tools/unicode/comparecodecs.py2
-rwxr-xr-xTools/webchecker/wcgui.py2
-rwxr-xr-xTools/webchecker/webchecker.py2
-rwxr-xr-xTools/webchecker/websucker.py2
-rwxr-xr-xTools/webchecker/wsgui.py2
212 files changed, 212 insertions, 212 deletions
diff --git a/Demo/cgi/cgi1.py b/Demo/cgi/cgi1.py
index 842fef2..b4154df 100755
--- a/Demo/cgi/cgi1.py
+++ b/Demo/cgi/cgi1.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/env python3
"""CGI test 1 - check server setup."""
diff --git a/Demo/cgi/cgi2.py b/Demo/cgi/cgi2.py
index 1d5822c..8aa57b3 100755
--- a/Demo/cgi/cgi2.py
+++ b/Demo/cgi/cgi2.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/env python3
"""CGI test 2 - basic use of cgi module."""
diff --git a/Demo/cgi/cgi3.py b/Demo/cgi/cgi3.py
index a3421b5..de8ef65 100755
--- a/Demo/cgi/cgi3.py
+++ b/Demo/cgi/cgi3.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/env python3
"""CGI test 3 (persistent data)."""
diff --git a/Demo/comparisons/regextest.py b/Demo/comparisons/regextest.py
index d2c534d..547ee0d 100755
--- a/Demo/comparisons/regextest.py
+++ b/Demo/comparisons/regextest.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 1) Regular Expressions Test
#
diff --git a/Demo/comparisons/sortingtest.py b/Demo/comparisons/sortingtest.py
index f9ed854..e826e81 100755
--- a/Demo/comparisons/sortingtest.py
+++ b/Demo/comparisons/sortingtest.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 2) Sorting Test
#
diff --git a/Demo/comparisons/systemtest.py b/Demo/comparisons/systemtest.py
index e3d840e..8276333 100755
--- a/Demo/comparisons/systemtest.py
+++ b/Demo/comparisons/systemtest.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 3) System Test
#
diff --git a/Demo/curses/life.py b/Demo/curses/life.py
index ddff8fa..06f9692 100755
--- a/Demo/curses/life.py
+++ b/Demo/curses/life.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# life.py -- A curses-based version of Conway's Game of Life.
# Contributed by AMK
#
diff --git a/Demo/curses/ncurses.py b/Demo/curses/ncurses.py
index 0bdc1a9..dedde29 100644
--- a/Demo/curses/ncurses.py
+++ b/Demo/curses/ncurses.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# $Id$
#
diff --git a/Demo/curses/rain.py b/Demo/curses/rain.py
index 9d46e6e..7cabb4f 100644
--- a/Demo/curses/rain.py
+++ b/Demo/curses/rain.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# $Id$
#
diff --git a/Demo/curses/repeat.py b/Demo/curses/repeat.py
index 93372c5..570f221 100755
--- a/Demo/curses/repeat.py
+++ b/Demo/curses/repeat.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""repeat [-i SECONDS] <shell-command>
diff --git a/Demo/curses/tclock.py b/Demo/curses/tclock.py
index 8058d9a..cde0a93 100644
--- a/Demo/curses/tclock.py
+++ b/Demo/curses/tclock.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# $Id$
#
diff --git a/Demo/distutils/test2to3/maintest.py b/Demo/distutils/test2to3/maintest.py
index 72a26dd..036dd4f 100644
--- a/Demo/distutils/test2to3/maintest.py
+++ b/Demo/distutils/test2to3/maintest.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# The above line should get replaced with the path to the Python
# interpreter; the block below should get 2to3-converted.
diff --git a/Demo/parser/test_parser.py b/Demo/parser/test_parser.py
index e4d5571..7d6db6b 100755
--- a/Demo/parser/test_parser.py
+++ b/Demo/parser/test_parser.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# (Force the script to use the latest build.)
#
# test_parser.py
diff --git a/Demo/pdist/RCSProxy.py b/Demo/pdist/RCSProxy.py
index 7c3b24f..b0a01ad 100755
--- a/Demo/pdist/RCSProxy.py
+++ b/Demo/pdist/RCSProxy.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""RCS Proxy.
diff --git a/Demo/pdist/makechangelog.py b/Demo/pdist/makechangelog.py
index db66e8f..dd90657 100755
--- a/Demo/pdist/makechangelog.py
+++ b/Demo/pdist/makechangelog.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Turn a pile of RCS log output into ChangeLog file entries.
diff --git a/Demo/pdist/rcvs.py b/Demo/pdist/rcvs.py
index 4e2532a..ff178b7 100755
--- a/Demo/pdist/rcvs.py
+++ b/Demo/pdist/rcvs.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Remote CVS -- command line interface"""
diff --git a/Demo/pdist/rrcs.py b/Demo/pdist/rrcs.py
index 647ecc5..9e246b8 100755
--- a/Demo/pdist/rrcs.py
+++ b/Demo/pdist/rrcs.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"Remote RCS -- command line interface"
diff --git a/Demo/pysvr/pysvr.py b/Demo/pysvr/pysvr.py
index 3e94dbe..578e99c 100755
--- a/Demo/pysvr/pysvr.py
+++ b/Demo/pysvr/pysvr.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""A multi-threaded telnet-like server that gives a Python prompt.
diff --git a/Demo/scripts/beer.py b/Demo/scripts/beer.py
index 8135509..56eec7b 100755
--- a/Demo/scripts/beer.py
+++ b/Demo/scripts/beer.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# By GvR, demystified after a version by Fredrik Lundh.
diff --git a/Demo/scripts/eqfix.py b/Demo/scripts/eqfix.py
index 47c00d3..8d0c8df 100755
--- a/Demo/scripts/eqfix.py
+++ b/Demo/scripts/eqfix.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 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 71fcda2..2a3bef2 100755
--- a/Demo/scripts/fact.py
+++ b/Demo/scripts/fact.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Factorize numbers.
# The algorithm is not efficient, but easy to understand.
diff --git a/Demo/scripts/find-uname.py b/Demo/scripts/find-uname.py
index 1902423..b6ec1b6 100755
--- a/Demo/scripts/find-uname.py
+++ b/Demo/scripts/find-uname.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""
For each argument on the command line, look for it in the set of all Unicode
diff --git a/Demo/scripts/from.py b/Demo/scripts/from.py
index 323e684..c8a9346 100755
--- a/Demo/scripts/from.py
+++ b/Demo/scripts/from.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Print From and Subject of messages in $MAIL.
# Extension to multiple mailboxes and other bells & whistles are left
diff --git a/Demo/scripts/lpwatch.py b/Demo/scripts/lpwatch.py
index 90b3ecf..01d9fea 100755
--- a/Demo/scripts/lpwatch.py
+++ b/Demo/scripts/lpwatch.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Watch line printer queue(s).
# Intended for BSD 4.3 lpq.
diff --git a/Demo/scripts/makedir.py b/Demo/scripts/makedir.py
index 7095868..a14e848 100755
--- a/Demo/scripts/makedir.py
+++ b/Demo/scripts/makedir.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 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 990c972..7c08bdb 100755
--- a/Demo/scripts/markov.py
+++ b/Demo/scripts/markov.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
class Markov:
def __init__(self, histsize, choice):
diff --git a/Demo/scripts/mboxconvert.py b/Demo/scripts/mboxconvert.py
index 2e44f06..cb3ed89 100755
--- a/Demo/scripts/mboxconvert.py
+++ b/Demo/scripts/mboxconvert.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 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/morse.py b/Demo/scripts/morse.py
index 5aacaa1..c2f408f 100755
--- a/Demo/scripts/morse.py
+++ b/Demo/scripts/morse.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# DAH should be three DOTs.
# Space between DOTs and DAHs should be one DOT.
diff --git a/Demo/scripts/newslist.py b/Demo/scripts/newslist.py
index 9cea1b4..b345f2ef 100755
--- a/Demo/scripts/newslist.py
+++ b/Demo/scripts/newslist.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#######################################################################
# Newslist $Revision$
#
diff --git a/Demo/scripts/pi.py b/Demo/scripts/pi.py
index 0740cd0..248f81f 100755
--- a/Demo/scripts/pi.py
+++ b/Demo/scripts/pi.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Print digits of pi forever.
#
diff --git a/Demo/scripts/pp.py b/Demo/scripts/pp.py
index 2c948f7..87b9d8f 100755
--- a/Demo/scripts/pp.py
+++ b/Demo/scripts/pp.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 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 d296f0e..c994623 100755
--- a/Demo/scripts/primes.py
+++ b/Demo/scripts/primes.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Print prime numbers in a given range
diff --git a/Demo/scripts/queens.py b/Demo/scripts/queens.py
index 726433c..ffd4bea 100755
--- a/Demo/scripts/queens.py
+++ b/Demo/scripts/queens.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""N queens problem.
diff --git a/Demo/scripts/script.py b/Demo/scripts/script.py
index b490b17..a815a35 100755
--- a/Demo/scripts/script.py
+++ b/Demo/scripts/script.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# script.py -- Make typescript of terminal session.
# Usage:
diff --git a/Demo/scripts/unbirthday.py b/Demo/scripts/unbirthday.py
index af58f8f..b3c7d23 100755
--- a/Demo/scripts/unbirthday.py
+++ b/Demo/scripts/unbirthday.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 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 d49e4b3..49c09d8 100755
--- a/Demo/scripts/update.py
+++ b/Demo/scripts/update.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Update a bunch of files according to a script.
# The input file contains lines of the form <filename>:<lineno>:<text>,
diff --git a/Demo/sockets/echosvr.py b/Demo/sockets/echosvr.py
index 7de6391..6f7030e 100755
--- a/Demo/sockets/echosvr.py
+++ b/Demo/sockets/echosvr.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 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 e8b9ed2..4d49391 100755
--- a/Demo/sockets/finger.py
+++ b/Demo/sockets/finger.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Python interface to the Internet finger daemon.
#
diff --git a/Demo/sockets/gopher.py b/Demo/sockets/gopher.py
index c287319..bd29ec0 100755
--- a/Demo/sockets/gopher.py
+++ b/Demo/sockets/gopher.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# A simple gopher client.
#
diff --git a/Demo/sockets/mcast.py b/Demo/sockets/mcast.py
index b7f8556..6ce7c6d 100755
--- a/Demo/sockets/mcast.py
+++ b/Demo/sockets/mcast.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# Send/receive UDP multicast packets.
# Requires that your OS kernel supports IP multicast.
diff --git a/Demo/sockets/rpython.py b/Demo/sockets/rpython.py
index b654dc2..7dcf979 100755
--- a/Demo/sockets/rpython.py
+++ b/Demo/sockets/rpython.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Remote python client.
# Execute Python commands remotely and send output back.
diff --git a/Demo/sockets/rpythond.py b/Demo/sockets/rpythond.py
index d745cc7..e244d6c 100755
--- a/Demo/sockets/rpythond.py
+++ b/Demo/sockets/rpythond.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Remote python server.
# Execute Python commands remotely and send output back.
diff --git a/Demo/sockets/telnet.py b/Demo/sockets/telnet.py
index 038036ff..fb36faf 100755
--- a/Demo/sockets/telnet.py
+++ b/Demo/sockets/telnet.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Minimal interface to the Internet telnet protocol.
#
diff --git a/Demo/sockets/throughput.py b/Demo/sockets/throughput.py
index 64244aa..5954316 100755
--- a/Demo/sockets/throughput.py
+++ b/Demo/sockets/throughput.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Test network throughput.
#
diff --git a/Demo/sockets/udpecho.py b/Demo/sockets/udpecho.py
index 9966fd8..6983a1f 100755
--- a/Demo/sockets/udpecho.py
+++ b/Demo/sockets/udpecho.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Client and server for udp (datagram) echo.
#
diff --git a/Demo/tkinter/guido/MimeViewer.py b/Demo/tkinter/guido/MimeViewer.py
index 11701cd..b957c85 100755
--- a/Demo/tkinter/guido/MimeViewer.py
+++ b/Demo/tkinter/guido/MimeViewer.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# View a single MIME multipart message.
# Display each part as a box.
diff --git a/Demo/tkinter/guido/canvasevents.py b/Demo/tkinter/guido/canvasevents.py
index aeb0eb1..e5d27cc 100644
--- a/Demo/tkinter/guido/canvasevents.py
+++ b/Demo/tkinter/guido/canvasevents.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
from tkinter import *
from Canvas import Oval, Group, CanvasText
diff --git a/Demo/tkinter/guido/dialog.py b/Demo/tkinter/guido/dialog.py
index 1832ba4..f16029c 100755
--- a/Demo/tkinter/guido/dialog.py
+++ b/Demo/tkinter/guido/dialog.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 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 e3bf468..6079c04 100755
--- a/Demo/tkinter/guido/electrons.py
+++ b/Demo/tkinter/guido/electrons.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 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 36caba6..dd01a2d 100755
--- a/Demo/tkinter/guido/kill.py
+++ b/Demo/tkinter/guido/kill.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Tkinter interface to Linux `kill' command.
from tkinter import *
diff --git a/Demo/tkinter/guido/mbox.py b/Demo/tkinter/guido/mbox.py
index 45c384e..299999c 100755
--- a/Demo/tkinter/guido/mbox.py
+++ b/Demo/tkinter/guido/mbox.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Scan MH folder, display results in window
diff --git a/Demo/tkinter/guido/newmenubardemo.py b/Demo/tkinter/guido/newmenubardemo.py
index 51c4e64..09ac566 100644
--- a/Demo/tkinter/guido/newmenubardemo.py
+++ b/Demo/tkinter/guido/newmenubardemo.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Play with the new Tk 8.0 toplevel menu option."""
diff --git a/Demo/tkinter/guido/rmt.py b/Demo/tkinter/guido/rmt.py
index 7b3f700..a3f430e 100755
--- a/Demo/tkinter/guido/rmt.py
+++ b/Demo/tkinter/guido/rmt.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# A Python program implementing rmt, an application for remotely
# controlling other Tk applications.
diff --git a/Demo/tkinter/guido/solitaire.py b/Demo/tkinter/guido/solitaire.py
index b2a2a66..375bd03 100755
--- a/Demo/tkinter/guido/solitaire.py
+++ b/Demo/tkinter/guido/solitaire.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Solitaire game, much like the one that comes with MS Windows.
diff --git a/Demo/tkinter/guido/sortvisu.py b/Demo/tkinter/guido/sortvisu.py
index 0c71fc9..1e4165d 100644
--- a/Demo/tkinter/guido/sortvisu.py
+++ b/Demo/tkinter/guido/sortvisu.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Sorting algorithms visualizer using Tkinter.
diff --git a/Demo/tkinter/guido/svkill.py b/Demo/tkinter/guido/svkill.py
index 0dd9f95..4ed88ad 100755
--- a/Demo/tkinter/guido/svkill.py
+++ b/Demo/tkinter/guido/svkill.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Tkinter interface to SYSV `ps' and `kill' commands.
diff --git a/Demo/tkinter/guido/tkman.py b/Demo/tkinter/guido/tkman.py
index 52b6d03..4fc0488 100755
--- a/Demo/tkinter/guido/tkman.py
+++ b/Demo/tkinter/guido/tkman.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Tk man page browser -- currently only shows the Tcl/Tk man pages
diff --git a/Demo/turtle/tdemo_I_dontlike_tiltdemo.py b/Demo/turtle/tdemo_I_dontlike_tiltdemo.py
index 1d8652c..1e5c440 100644
--- a/Demo/turtle/tdemo_I_dontlike_tiltdemo.py
+++ b/Demo/turtle/tdemo_I_dontlike_tiltdemo.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
""" turtle-example-suite:
tdemo-I_dont_like_tiltdemo.py
diff --git a/Demo/turtle/tdemo_bytedesign.py b/Demo/turtle/tdemo_bytedesign.py
index 2e2ac62..96118b3 100644
--- a/Demo/turtle/tdemo_bytedesign.py
+++ b/Demo/turtle/tdemo_bytedesign.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
""" turtle-example-suite:
tdemo_bytedesign.py
diff --git a/Demo/turtle/tdemo_clock.py b/Demo/turtle/tdemo_clock.py
index e186c38..a0d157b 100644
--- a/Demo/turtle/tdemo_clock.py
+++ b/Demo/turtle/tdemo_clock.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
# -*- coding: cp1252 -*-
""" turtle-example-suite:
diff --git a/Demo/turtle/tdemo_forest.py b/Demo/turtle/tdemo_forest.py
index 01fa186..a837d84 100644
--- a/Demo/turtle/tdemo_forest.py
+++ b/Demo/turtle/tdemo_forest.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
""" turtlegraphics-example-suite:
tdemo_forest.py
diff --git a/Demo/turtle/tdemo_fractalcurves.py b/Demo/turtle/tdemo_fractalcurves.py
index 247f16c..c49f8b8 100644
--- a/Demo/turtle/tdemo_fractalcurves.py
+++ b/Demo/turtle/tdemo_fractalcurves.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
""" turtle-example-suite:
tdemo_fractalCurves.py
diff --git a/Demo/turtle/tdemo_lindenmayer_indian.py b/Demo/turtle/tdemo_lindenmayer_indian.py
index bda5067..3925f25 100644
--- a/Demo/turtle/tdemo_lindenmayer_indian.py
+++ b/Demo/turtle/tdemo_lindenmayer_indian.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
""" turtle-example-suite:
xtx_lindenmayer_indian.py
diff --git a/Demo/turtle/tdemo_minimal_hanoi.py b/Demo/turtle/tdemo_minimal_hanoi.py
index a8bdca7..cfb78dc 100644
--- a/Demo/turtle/tdemo_minimal_hanoi.py
+++ b/Demo/turtle/tdemo_minimal_hanoi.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
""" turtle-example-suite:
tdemo_minimal_hanoi.py
diff --git a/Demo/turtle/tdemo_paint.py b/Demo/turtle/tdemo_paint.py
index 337a57c..68058ab 100644
--- a/Demo/turtle/tdemo_paint.py
+++ b/Demo/turtle/tdemo_paint.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
""" turtle-example-suite:
tdemo_paint.py
diff --git a/Demo/turtle/tdemo_peace.py b/Demo/turtle/tdemo_peace.py
index ea57069..63cf7cc 100644
--- a/Demo/turtle/tdemo_peace.py
+++ b/Demo/turtle/tdemo_peace.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
""" turtle-example-suite:
tdemo_peace.py
diff --git a/Demo/turtle/tdemo_penrose.py b/Demo/turtle/tdemo_penrose.py
index f816f66..f73c864 100644
--- a/Demo/turtle/tdemo_penrose.py
+++ b/Demo/turtle/tdemo_penrose.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
""" xturtle-example-suite:
xtx_kites_and_darts.py
diff --git a/Demo/turtle/tdemo_planet_and_moon.py b/Demo/turtle/tdemo_planet_and_moon.py
index 983449c..14c4bbc 100644
--- a/Demo/turtle/tdemo_planet_and_moon.py
+++ b/Demo/turtle/tdemo_planet_and_moon.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
""" turtle-example-suite:
tdemo_planets_and_moon.py
diff --git a/Demo/turtle/tdemo_tree.py b/Demo/turtle/tdemo_tree.py
index fda653c..9c0b1f7 100644
--- a/Demo/turtle/tdemo_tree.py
+++ b/Demo/turtle/tdemo_tree.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
""" turtle-example-suite:
tdemo_tree.py
diff --git a/Demo/turtle/tdemo_yinyang.py b/Demo/turtle/tdemo_yinyang.py
index 6508b44..11d1f47 100644
--- a/Demo/turtle/tdemo_yinyang.py
+++ b/Demo/turtle/tdemo_yinyang.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
""" turtle-example-suite:
tdemo_yinyang.py
diff --git a/Demo/turtle/turtleDemo.py b/Demo/turtle/turtleDemo.py
index 36bf15c..b5b99c0 100644
--- a/Demo/turtle/turtleDemo.py
+++ b/Demo/turtle/turtleDemo.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
import sys
import os
diff --git a/Demo/turtle/turtledemo_two_canvases.py b/Demo/turtle/turtledemo_two_canvases.py
index 57ecb1d..d2d7188 100644
--- a/Demo/turtle/turtledemo_two_canvases.py
+++ b/Demo/turtle/turtledemo_two_canvases.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
## DEMONSTRATES USE OF 2 CANVASES, SO CANNOT BE RUN IN DEMOVIEWER!
"""turtle example: Using TurtleScreen and RawTurtle
for drawing on two distinct canvases.
diff --git a/Demo/zlib/minigzip.py b/Demo/zlib/minigzip.py
index 28d8b26..b2af7f9 100755
--- a/Demo/zlib/minigzip.py
+++ b/Demo/zlib/minigzip.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Demo program for zlib; it compresses or decompresses files, but *doesn't*
# delete the original. This doesn't support all of gzip's options.
#
diff --git a/Demo/zlib/zlibdemo.py b/Demo/zlib/zlibdemo.py
index 53463dd..52f71a0 100755
--- a/Demo/zlib/zlibdemo.py
+++ b/Demo/zlib/zlibdemo.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Takes an optional filename, defaulting to this file itself.
# Reads the file and compresses the content using level 1 and level 9
diff --git a/Doc/includes/email-alternative.py b/Doc/includes/email-alternative.py
index 82e3ffa..33c430a 100644
--- a/Doc/includes/email-alternative.py
+++ b/Doc/includes/email-alternative.py
@@ -1,4 +1,4 @@
-#! /usr/bin/python
+#!/usr/bin/env python3
import smtplib
diff --git a/Doc/includes/email-dir.py b/Doc/includes/email-dir.py
index e67de61..b1b45b8 100644
--- a/Doc/includes/email-dir.py
+++ b/Doc/includes/email-dir.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""Send the contents of a directory as a MIME message."""
diff --git a/Doc/includes/email-unpack.py b/Doc/includes/email-unpack.py
index a8f712d..3653543 100644
--- a/Doc/includes/email-unpack.py
+++ b/Doc/includes/email-unpack.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""Unpack a MIME message into a directory of files."""
diff --git a/Doc/tools/rstlint.py b/Doc/tools/rstlint.py
index eaaf257..8e6b374 100755
--- a/Doc/tools/rstlint.py
+++ b/Doc/tools/rstlint.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Check for stylistic and formal issues in .rst and .py
diff --git a/Lib/base64.py b/Lib/base64.py
index e708136..a8d9f21 100755
--- a/Lib/base64.py
+++ b/Lib/base64.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""RFC 3548: Base16, Base32, Base64 Data Encodings"""
diff --git a/Lib/cProfile.py b/Lib/cProfile.py
index a7686ed..3e2b2ed 100755
--- a/Lib/cProfile.py
+++ b/Lib/cProfile.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Python interface for the 'lsprof' profiler.
Compatible with the 'profile' module.
diff --git a/Lib/difflib.py b/Lib/difflib.py
index 264860e..292bba9 100644
--- a/Lib/difflib.py
+++ b/Lib/difflib.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""
Module difflib -- helpers for computing deltas between objects.
diff --git a/Lib/http/cookies.py b/Lib/http/cookies.py
index 1051cdd..da30e25 100644
--- a/Lib/http/cookies.py
+++ b/Lib/http/cookies.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
####
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index edc9334..ef82d81 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
import os
import os.path
diff --git a/Lib/keyword.py b/Lib/keyword.py
index a7abe2b..a5974b5 100755
--- a/Lib/keyword.py
+++ b/Lib/keyword.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Keywords (from "graminit.c")
diff --git a/Lib/lib2to3/pgen2/token.py b/Lib/lib2to3/pgen2/token.py
index 1c81065..6a6d0b6 100755
--- a/Lib/lib2to3/pgen2/token.py
+++ b/Lib/lib2to3/pgen2/token.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Token constants (from "token.h")."""
diff --git a/Lib/lib2to3/tests/pytree_idempotency.py b/Lib/lib2to3/tests/pytree_idempotency.py
index 414eb4d..a02bbfe 100755
--- a/Lib/lib2to3/tests/pytree_idempotency.py
+++ b/Lib/lib2to3/tests/pytree_idempotency.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Copyright 2006 Google, Inc. All Rights Reserved.
# Licensed to PSF under a Contributor Agreement.
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index 3f299a8..c2c9b5c 100755
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Read/write support for Maildir, mbox, MH, Babyl, and MMDF mailboxes."""
diff --git a/Lib/pdb.py b/Lib/pdb.py
index 22dcff7..b15a3d1 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""A Python debugger."""
diff --git a/Lib/platform.py b/Lib/platform.py
index b6e7596..7d39250 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
""" This module tries to retrieve as much platform-identifying data as
possible. It makes this information available via function APIs.
diff --git a/Lib/profile.py b/Lib/profile.py
index 4eb86a8..a09fffe 100755
--- a/Lib/profile.py
+++ b/Lib/profile.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# Class for profiling python code. rev 1.0 6/2/94
#
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index 79fb54a..4a8017e 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# -*- coding: latin-1 -*-
"""Generate Python documentation in HTML or text for interactive use.
diff --git a/Lib/quopri.py b/Lib/quopri.py
index ff27923..3d0f0ac 100755
--- a/Lib/quopri.py
+++ b/Lib/quopri.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Conversions to/from quoted-printable transport encoding as per RFC 1521."""
diff --git a/Lib/smtpd.py b/Lib/smtpd.py
index 3dc9793..17b7427 100755
--- a/Lib/smtpd.py
+++ b/Lib/smtpd.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""An RFC 2821 smtp proxy.
Usage: %(program)s [options] [localhost:localport [remotehost:remoteport]]
diff --git a/Lib/smtplib.py b/Lib/smtplib.py
index a01a184..69ec9ec 100755
--- a/Lib/smtplib.py
+++ b/Lib/smtplib.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
'''SMTP/ESMTP client class.
diff --git a/Lib/symbol.py b/Lib/symbol.py
index ea8f2f5..e3fff34 100755
--- a/Lib/symbol.py
+++ b/Lib/symbol.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Non-terminal symbols of Python grammar (from "graminit.h")."""
diff --git a/Lib/tabnanny.py b/Lib/tabnanny.py
index 0ae5e9f..2c6fb0c 100755
--- a/Lib/tabnanny.py
+++ b/Lib/tabnanny.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""The Tab Nanny despises ambiguous indentation. She knows no mercy.
diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index e28b1c7..8684493 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#-------------------------------------------------------------------
# tarfile.py
#-------------------------------------------------------------------
diff --git a/Lib/test/crashers/recursive_call.py b/Lib/test/crashers/recursive_call.py
index 31c8963..2d160a7 100644
--- a/Lib/test/crashers/recursive_call.py
+++ b/Lib/test/crashers/recursive_call.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# No bug report AFAIK, mail on python-dev on 2006-01-10
diff --git a/Lib/test/curses_tests.py b/Lib/test/curses_tests.py
index 7dedbbc..40e832d 100644
--- a/Lib/test/curses_tests.py
+++ b/Lib/test/curses_tests.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# $Id: ncurses.py 36559 2004-07-18 05:56:09Z tim_one $
#
diff --git a/Lib/test/pystone.py b/Lib/test/pystone.py
index 614551f..aad4d8c 100755
--- a/Lib/test/pystone.py
+++ b/Lib/test/pystone.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""
"PYSTONE" Benchmark Program
diff --git a/Lib/test/re_tests.py b/Lib/test/re_tests.py
index d314e20..5d16e3d 100755
--- a/Lib/test/re_tests.py
+++ b/Lib/test/re_tests.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# -*- mode: python -*-
# Re test suite and benchmark suite v1.5
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index 9f631f4..d4f40aa 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Regression test.
diff --git a/Lib/test/test___future__.py b/Lib/test/test___future__.py
index f41b879..9ae4ce4 100644
--- a/Lib/test/test___future__.py
+++ b/Lib/test/test___future__.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
import unittest
from test import support
import __future__
diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py
index 8a3796c..5de562f 100755
--- a/Lib/test/test_array.py
+++ b/Lib/test/test_array.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Test the arraymodule.
Roger E. Masse
"""
diff --git a/Lib/test/test_binhex.py b/Lib/test/test_binhex.py
index 06fd98a..d6ef84a 100755
--- a/Lib/test/test_binhex.py
+++ b/Lib/test/test_binhex.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Test script for the binhex C module
Uses the mechanism of the python binhex module
diff --git a/Lib/test/test_bz2.py b/Lib/test/test_bz2.py
index 9a9afa6..dbbdad3 100644
--- a/Lib/test/test_bz2.py
+++ b/Lib/test/test_bz2.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python3
from test import support
from test.support import TESTFN
diff --git a/Lib/test/test_cmd.py b/Lib/test/test_cmd.py
index f102fe0..11602f1 100644
--- a/Lib/test/test_cmd.py
+++ b/Lib/test/test_cmd.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""
Test script for the 'cmd' module
Original by Michael Schneider
diff --git a/Lib/test/test_codecencodings_cn.py b/Lib/test/test_codecencodings_cn.py
index 77bac13..a2d9718 100644
--- a/Lib/test/test_codecencodings_cn.py
+++ b/Lib/test/test_codecencodings_cn.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# test_codecencodings_cn.py
# Codec encoding tests for PRC encodings.
diff --git a/Lib/test/test_codecencodings_hk.py b/Lib/test/test_codecencodings_hk.py
index b1deb71..ccdc0b4 100644
--- a/Lib/test/test_codecencodings_hk.py
+++ b/Lib/test/test_codecencodings_hk.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# test_codecencodings_hk.py
# Codec encoding tests for HongKong encodings.
diff --git a/Lib/test/test_codecencodings_jp.py b/Lib/test/test_codecencodings_jp.py
index e2cd7d7..f56a373 100644
--- a/Lib/test/test_codecencodings_jp.py
+++ b/Lib/test/test_codecencodings_jp.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# test_codecencodings_jp.py
# Codec encoding tests for Japanese encodings.
diff --git a/Lib/test/test_codecencodings_kr.py b/Lib/test/test_codecencodings_kr.py
index 34fade9..de4da7f 100644
--- a/Lib/test/test_codecencodings_kr.py
+++ b/Lib/test/test_codecencodings_kr.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# test_codecencodings_kr.py
# Codec encoding tests for ROK encodings.
diff --git a/Lib/test/test_codecencodings_tw.py b/Lib/test/test_codecencodings_tw.py
index 6b840d3..12d3c9f 100644
--- a/Lib/test/test_codecencodings_tw.py
+++ b/Lib/test/test_codecencodings_tw.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# test_codecencodings_tw.py
# Codec encoding tests for ROC encodings.
diff --git a/Lib/test/test_codecmaps_cn.py b/Lib/test/test_codecmaps_cn.py
index 34a910d..063919d 100644
--- a/Lib/test/test_codecmaps_cn.py
+++ b/Lib/test/test_codecmaps_cn.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# test_codecmaps_cn.py
# Codec mapping tests for PRC encodings
diff --git a/Lib/test/test_codecmaps_hk.py b/Lib/test/test_codecmaps_hk.py
index ddb1208..bbe1f2f 100644
--- a/Lib/test/test_codecmaps_hk.py
+++ b/Lib/test/test_codecmaps_hk.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# test_codecmaps_hk.py
# Codec mapping tests for HongKong encodings
diff --git a/Lib/test/test_codecmaps_jp.py b/Lib/test/test_codecmaps_jp.py
index 75db00c..652bd81 100644
--- a/Lib/test/test_codecmaps_jp.py
+++ b/Lib/test/test_codecmaps_jp.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# test_codecmaps_jp.py
# Codec mapping tests for Japanese encodings
diff --git a/Lib/test/test_codecmaps_kr.py b/Lib/test/test_codecmaps_kr.py
index 0da9d1c..d909c8b 100644
--- a/Lib/test/test_codecmaps_kr.py
+++ b/Lib/test/test_codecmaps_kr.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# test_codecmaps_kr.py
# Codec mapping tests for ROK encodings
diff --git a/Lib/test/test_codecmaps_tw.py b/Lib/test/test_codecmaps_tw.py
index e6df3a7..6db5091 100644
--- a/Lib/test/test_codecmaps_tw.py
+++ b/Lib/test/test_codecmaps_tw.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# test_codecmaps_tw.py
# Codec mapping tests for ROC encodings
diff --git a/Lib/test/test_dbm.py b/Lib/test/test_dbm.py
index 78357a0..c1be7d9 100644
--- a/Lib/test/test_dbm.py
+++ b/Lib/test/test_dbm.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Test script for the dbm.open function based on testdumbdbm.py"""
import os
diff --git a/Lib/test/test_dbm_dumb.py b/Lib/test/test_dbm_dumb.py
index 7a1a16e..a05db91 100644
--- a/Lib/test/test_dbm_dumb.py
+++ b/Lib/test/test_dbm_dumb.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Test script for the dumbdbm module
Original by Roger E. Masse
"""
diff --git a/Lib/test/test_eof.py b/Lib/test/test_eof.py
index 4e37560..fb4ac9a 100644
--- a/Lib/test/test_eof.py
+++ b/Lib/test/test_eof.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""test script for a few new invalid token catches"""
import unittest
diff --git a/Lib/test/test_errno.py b/Lib/test/test_errno.py
index 621335c..e7d5ce5 100755
--- a/Lib/test/test_errno.py
+++ b/Lib/test/test_errno.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Test the errno module
Roger E. Masse
"""
diff --git a/Lib/test/test_gzip.py b/Lib/test/test_gzip.py
index 429ada0..7eade6f 100644
--- a/Lib/test/test_gzip.py
+++ b/Lib/test/test_gzip.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Test script for the gzip module.
"""
diff --git a/Lib/test/test_keywordonlyarg.py b/Lib/test/test_keywordonlyarg.py
index b771a6c..6a88b3d 100644
--- a/Lib/test/test_keywordonlyarg.py
+++ b/Lib/test/test_keywordonlyarg.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""Unit tests for the keyword only argument specified in PEP 3102."""
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index cb6985e..02ac00e 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# Copyright 2001-2010 by Vinay Sajip. All Rights Reserved.
#
diff --git a/Lib/test/test_marshal.py b/Lib/test/test_marshal.py
index 6688785..9de0165 100644
--- a/Lib/test/test_marshal.py
+++ b/Lib/test/test_marshal.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
from test import support
import marshal
diff --git a/Lib/test/test_multibytecodec.py b/Lib/test/test_multibytecodec.py
index e4e86ff..ce860d7 100644
--- a/Lib/test/test_multibytecodec.py
+++ b/Lib/test/test_multibytecodec.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# test_multibytecodec.py
# Unit test for multibytecodec itself
diff --git a/Lib/test/test_multibytecodec_support.py b/Lib/test/test_multibytecodec_support.py
index 75b3363..70e4d75 100644
--- a/Lib/test/test_multibytecodec_support.py
+++ b/Lib/test/test_multibytecodec_support.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# test_multibytecodec_support.py
# Common Unittest Routines for CJK codecs
diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py
index 7fcbdc32..452e192 100644
--- a/Lib/test/test_multiprocessing.py
+++ b/Lib/test/test_multiprocessing.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# Unit tests for the multiprocessing package
diff --git a/Lib/test/test_popen.py b/Lib/test/test_popen.py
index 24fb846..da0c04e 100644
--- a/Lib/test/test_popen.py
+++ b/Lib/test/test_popen.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Basic tests for os.popen()
Particularly useful for platforms that fake popen.
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index b64a8f7..c59e4fa 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import unittest
import random
diff --git a/Lib/test/test_smtpnet.py b/Lib/test/test_smtpnet.py
index 5b1b38c0..6f7f9ef 100644
--- a/Lib/test/test_smtpnet.py
+++ b/Lib/test/test_smtpnet.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import unittest
from test import support
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 4dc34ce..6bff03e 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import unittest
from test import support
diff --git a/Lib/test/test_tcl.py b/Lib/test/test_tcl.py
index eebdd25..0df1fea 100644
--- a/Lib/test/test_tcl.py
+++ b/Lib/test/test_tcl.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import unittest
import os
diff --git a/Lib/test/test_urllib2_localnet.py b/Lib/test/test_urllib2_localnet.py
index 965e0f4..c0f20f5 100644
--- a/Lib/test/test_urllib2_localnet.py
+++ b/Lib/test/test_urllib2_localnet.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import email
import threading
diff --git a/Lib/test/test_urllib2net.py b/Lib/test/test_urllib2net.py
index 70b4cfa..b933194 100644
--- a/Lib/test/test_urllib2net.py
+++ b/Lib/test/test_urllib2net.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import unittest
from test import support
diff --git a/Lib/test/test_urllibnet.py b/Lib/test/test_urllibnet.py
index 221b698..f324be9 100644
--- a/Lib/test/test_urllibnet.py
+++ b/Lib/test/test_urllibnet.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import unittest
from test import support
diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py
index 1658411..ca4eaa5 100644
--- a/Lib/test/test_urlparse.py
+++ b/Lib/test/test_urlparse.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
from test import support
import unittest
diff --git a/Lib/test/test_userstring.py b/Lib/test/test_userstring.py
index 0538138..7a8b932 100755
--- a/Lib/test/test_userstring.py
+++ b/Lib/test/test_userstring.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# UserString is a wrapper around the native builtin string type.
# UserString instances should behave similar to builtin string objects.
diff --git a/Lib/test/test_with.py b/Lib/test/test_with.py
index 640f31c..74b5f19 100644
--- a/Lib/test/test_with.py
+++ b/Lib/test/test_with.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""Unit tests for the with statement specified in PEP 343."""
diff --git a/Lib/test/test_xmlrpc_net.py b/Lib/test/test_xmlrpc_net.py
index c531b62..493e363 100644
--- a/Lib/test/test_xmlrpc_net.py
+++ b/Lib/test/test_xmlrpc_net.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
import collections
import errno
diff --git a/Lib/timeit.py b/Lib/timeit.py
index 7b9b72c..63d94ca 100644
--- a/Lib/timeit.py
+++ b/Lib/timeit.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Tool for measuring execution time of small code snippets.
diff --git a/Lib/token.py b/Lib/token.py
index da4d29b3..a48bf3c 100755
--- a/Lib/token.py
+++ b/Lib/token.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Token constants (from "token.h")."""
diff --git a/Lib/trace.py b/Lib/trace.py
index e6316b6..9d91fe8 100644
--- a/Lib/trace.py
+++ b/Lib/trace.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# portions copyright 2001, Autonomous Zones Industries, Inc., all rights...
# err... reserved and offered to the public under the terms of the
diff --git a/Lib/uu.py b/Lib/uu.py
index d70f0e6..c917cdd 100755
--- a/Lib/uu.py
+++ b/Lib/uu.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Copyright 1994 by Lance Ellinghouse
# Cathedral City, California Republic, United States of America.
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index aee797d..72ba1ac 100644
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Interfaces for launching and remotely controlling Web browsers."""
# Maintained by Georg Brandl.
diff --git a/Python/makeopcodetargets.py b/Python/makeopcodetargets.py
index a85ac52..7180e9a 100755
--- a/Python/makeopcodetargets.py
+++ b/Python/makeopcodetargets.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Generate C code for the jump table of the threaded code interpreter
(for compilers supporting computed gotos or "labels-as-values", such as gcc).
"""
diff --git a/Tools/faqwiz/faqw.py b/Tools/faqwiz/faqw.py
index d972f61..01536c0 100755
--- a/Tools/faqwiz/faqw.py
+++ b/Tools/faqwiz/faqw.py
@@ -1,4 +1,4 @@
-#! /usr/local/bin/python
+#!/usr/bin/env python3
"""FAQ wizard bootstrap."""
diff --git a/Tools/freeze/freeze.py b/Tools/freeze/freeze.py
index a7673c9..2d8127a 100755
--- a/Tools/freeze/freeze.py
+++ b/Tools/freeze/freeze.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Freeze a Python script into a binary.
diff --git a/Tools/i18n/makelocalealias.py b/Tools/i18n/makelocalealias.py
index 45876c1..2a0e4c9 100644
--- a/Tools/i18n/makelocalealias.py
+++ b/Tools/i18n/makelocalealias.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""
Convert the X11 locale.alias file into a mapping dictionary suitable
for locale.py.
diff --git a/Tools/i18n/msgfmt.py b/Tools/i18n/msgfmt.py
index 860e4ea..f481c88 100755
--- a/Tools/i18n/msgfmt.py
+++ b/Tools/i18n/msgfmt.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# -*- coding: iso-8859-1 -*-
# Written by Martin v. Löwis <loewis@informatik.hu-berlin.de>
diff --git a/Tools/i18n/pygettext.py b/Tools/i18n/pygettext.py
index d4ea597..67a960f 100755
--- a/Tools/i18n/pygettext.py
+++ b/Tools/i18n/pygettext.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# -*- coding: iso-8859-1 -*-
# Originally written by Barry Warsaw <barry@zope.com>
#
diff --git a/Tools/modulator/Tkextra.py b/Tools/modulator/Tkextra.py
index b1051aa..e969dde 100755
--- a/Tools/modulator/Tkextra.py
+++ b/Tools/modulator/Tkextra.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 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 d719649..76a7224 100755
--- a/Tools/modulator/modulator.py
+++ b/Tools/modulator/modulator.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
#
# Modulator - Generate skeleton modules.
#
diff --git a/Tools/scripts/byteyears.py b/Tools/scripts/byteyears.py
index f486d26..490b37f 100755
--- a/Tools/scripts/byteyears.py
+++ b/Tools/scripts/byteyears.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Print the product of age and size of each file, in suitable units.
#
diff --git a/Tools/scripts/checkappend.py b/Tools/scripts/checkappend.py
index 4c74ee5..caa85db 100755
--- a/Tools/scripts/checkappend.py
+++ b/Tools/scripts/checkappend.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Released to the public domain, by Tim Peters, 28 February 2000.
diff --git a/Tools/scripts/checkpyc.py b/Tools/scripts/checkpyc.py
index 2e8fd5a..2dc948a 100755
--- a/Tools/scripts/checkpyc.py
+++ b/Tools/scripts/checkpyc.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 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 0cd1e49..971d1bd 100755
--- a/Tools/scripts/classfix.py
+++ b/Tools/scripts/classfix.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# This script is obsolete -- it is kept for historical purposes only.
#
diff --git a/Tools/scripts/cleanfuture.py b/Tools/scripts/cleanfuture.py
index e6c8c8c..b48ab60 100644
--- a/Tools/scripts/cleanfuture.py
+++ b/Tools/scripts/cleanfuture.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""cleanfuture [-d][-r][-v] path ...
diff --git a/Tools/scripts/combinerefs.py b/Tools/scripts/combinerefs.py
index 68704dd..e10e49a 100644
--- a/Tools/scripts/combinerefs.py
+++ b/Tools/scripts/combinerefs.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""
combinerefs path
diff --git a/Tools/scripts/copytime.py b/Tools/scripts/copytime.py
index ba4a267..e0220b5 100755
--- a/Tools/scripts/copytime.py
+++ b/Tools/scripts/copytime.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Copy one file's atime and mtime to another
diff --git a/Tools/scripts/crlf.py b/Tools/scripts/crlf.py
index 3dfa131..0622282 100755
--- a/Tools/scripts/crlf.py
+++ b/Tools/scripts/crlf.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"Replace CRLF with LF in argument files. Print names of changed files."
import sys, os
diff --git a/Tools/scripts/cvsfiles.py b/Tools/scripts/cvsfiles.py
index 9e65dc8..0fc13bb 100755
--- a/Tools/scripts/cvsfiles.py
+++ b/Tools/scripts/cvsfiles.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Print a list of files that are mentioned in CVS directories.
diff --git a/Tools/scripts/db2pickle.py b/Tools/scripts/db2pickle.py
index 9dd8bd3..a5532a8 100644
--- a/Tools/scripts/db2pickle.py
+++ b/Tools/scripts/db2pickle.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""
Synopsis: %(prog)s [-h|-g|-b|-r|-a] dbfile [ picklefile ]
diff --git a/Tools/scripts/dutree.py b/Tools/scripts/dutree.py
index dbf4f1a..6b4361a 100755
--- a/Tools/scripts/dutree.py
+++ b/Tools/scripts/dutree.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Format du output in a tree shape
import os, sys, errno
diff --git a/Tools/scripts/eptags.py b/Tools/scripts/eptags.py
index 8d35dfb..671ff11 100755
--- a/Tools/scripts/eptags.py
+++ b/Tools/scripts/eptags.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Create a TAGS file for Python programs, usable with GNU Emacs.
usage: eptags pyfiles...
diff --git a/Tools/scripts/find_recursionlimit.py b/Tools/scripts/find_recursionlimit.py
index 2e202be..b299bf5 100644
--- a/Tools/scripts/find_recursionlimit.py
+++ b/Tools/scripts/find_recursionlimit.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Find the maximum recursion limit that prevents interpreter termination.
This script finds the maximum safe recursion limit on a particular
diff --git a/Tools/scripts/finddiv.py b/Tools/scripts/finddiv.py
index 558791f..f24a702 100755
--- a/Tools/scripts/finddiv.py
+++ b/Tools/scripts/finddiv.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""finddiv - a grep-like tool that looks for division operators.
diff --git a/Tools/scripts/findlinksto.py b/Tools/scripts/findlinksto.py
index d3da7e4..b4c09ef 100755
--- a/Tools/scripts/findlinksto.py
+++ b/Tools/scripts/findlinksto.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# findlinksto
#
diff --git a/Tools/scripts/findnocoding.py b/Tools/scripts/findnocoding.py
index 78fc8ef..77607ce 100755
--- a/Tools/scripts/findnocoding.py
+++ b/Tools/scripts/findnocoding.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""List all those Python files that require a coding directive
diff --git a/Tools/scripts/fixcid.py b/Tools/scripts/fixcid.py
index c9d3a29..95f7863 100755
--- a/Tools/scripts/fixcid.py
+++ b/Tools/scripts/fixcid.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Perform massive identifier substitution on C source files.
# This actually tokenizes the files (to some extent) so it can
diff --git a/Tools/scripts/fixdiv.py b/Tools/scripts/fixdiv.py
index 8b15cc6..4ecbea1 100755
--- a/Tools/scripts/fixdiv.py
+++ b/Tools/scripts/fixdiv.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""fixdiv - tool to fix division operators.
diff --git a/Tools/scripts/fixheader.py b/Tools/scripts/fixheader.py
index 1208031..ec84057 100755
--- a/Tools/scripts/fixheader.py
+++ b/Tools/scripts/fixheader.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Add some standard cpp magic to a header file
diff --git a/Tools/scripts/fixnotice.py b/Tools/scripts/fixnotice.py
index d35a339..aac8697 100755
--- a/Tools/scripts/fixnotice.py
+++ b/Tools/scripts/fixnotice.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""(Ostensibly) fix copyright notices in files.
diff --git a/Tools/scripts/fixps.py b/Tools/scripts/fixps.py
index fd2ca71..b002261 100755
--- a/Tools/scripts/fixps.py
+++ b/Tools/scripts/fixps.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Fix Python script(s) to reference the interpreter via /usr/bin/env python.
# Warning: this overwrites the file without making a backup.
diff --git a/Tools/scripts/ftpmirror.py b/Tools/scripts/ftpmirror.py
index b79db1a..9e8be1d 100755
--- a/Tools/scripts/ftpmirror.py
+++ b/Tools/scripts/ftpmirror.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Mirror a remote ftp subtree into a local directory tree.
diff --git a/Tools/scripts/google.py b/Tools/scripts/google.py
index 6219c2d..12152bb 100755
--- a/Tools/scripts/google.py
+++ b/Tools/scripts/google.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
import sys, webbrowser
diff --git a/Tools/scripts/gprof2html.py b/Tools/scripts/gprof2html.py
index cb01c2c..f3c7202 100755
--- a/Tools/scripts/gprof2html.py
+++ b/Tools/scripts/gprof2html.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python2.3
+#! /usr/bin/env python32.3
"""Transform gprof(1) output into useful HTML."""
diff --git a/Tools/scripts/h2py.py b/Tools/scripts/h2py.py
index 697e7fe..f3c80bd 100755
--- a/Tools/scripts/h2py.py
+++ b/Tools/scripts/h2py.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Read #define's and translate to Python code.
# Handle #include statements.
diff --git a/Tools/scripts/ifdef.py b/Tools/scripts/ifdef.py
index 2ed7a66..46167ad 100755
--- a/Tools/scripts/ifdef.py
+++ b/Tools/scripts/ifdef.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Selectively preprocess #ifdef / #ifndef statements.
# Usage:
diff --git a/Tools/scripts/lfcr.py b/Tools/scripts/lfcr.py
index 1b9a5b7..d094022 100755
--- a/Tools/scripts/lfcr.py
+++ b/Tools/scripts/lfcr.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"Replace LF with CRLF in argument files. Print names of changed files."
diff --git a/Tools/scripts/linktree.py b/Tools/scripts/linktree.py
index 748b042..982f480 100755
--- a/Tools/scripts/linktree.py
+++ b/Tools/scripts/linktree.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# linktree
#
diff --git a/Tools/scripts/lll.py b/Tools/scripts/lll.py
index 5ee1504..aa4e550 100755
--- a/Tools/scripts/lll.py
+++ b/Tools/scripts/lll.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Find symbolic links and show where they point to.
# Arguments are directories to search; default is current directory.
diff --git a/Tools/scripts/logmerge.py b/Tools/scripts/logmerge.py
index 06750b0..b7245f4 100755
--- a/Tools/scripts/logmerge.py
+++ b/Tools/scripts/logmerge.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Consolidate a bunch of CVS or RCS logs read from stdin.
diff --git a/Tools/scripts/md5sum.py b/Tools/scripts/md5sum.py
index 140c0b3..743da72 100644
--- a/Tools/scripts/md5sum.py
+++ b/Tools/scripts/md5sum.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Python utility to print MD5 checksums of argument files.
"""
diff --git a/Tools/scripts/methfix.py b/Tools/scripts/methfix.py
index f5fe7cd..030e1c9 100755
--- a/Tools/scripts/methfix.py
+++ b/Tools/scripts/methfix.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# 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 8bc2ec1..b21909e 100755
--- a/Tools/scripts/mkreal.py
+++ b/Tools/scripts/mkreal.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# mkreal
#
diff --git a/Tools/scripts/ndiff.py b/Tools/scripts/ndiff.py
index c60c8a8..2422091 100755
--- a/Tools/scripts/ndiff.py
+++ b/Tools/scripts/ndiff.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Module ndiff version 1.7.0
# Released to the public domain 08-Dec-2000,
diff --git a/Tools/scripts/nm2def.py b/Tools/scripts/nm2def.py
index 9dfb991..8f07559 100755
--- a/Tools/scripts/nm2def.py
+++ b/Tools/scripts/nm2def.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""nm2def.py
Helpers to extract symbols from Unix libs and auto-generate
diff --git a/Tools/scripts/objgraph.py b/Tools/scripts/objgraph.py
index 0975a3b..1e1fce0 100755
--- a/Tools/scripts/objgraph.py
+++ b/Tools/scripts/objgraph.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# objgraph
#
diff --git a/Tools/scripts/parseentities.py b/Tools/scripts/parseentities.py
index 8d93167..5b0f1c6 100755
--- a/Tools/scripts/parseentities.py
+++ b/Tools/scripts/parseentities.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/env python3
""" Utility for parsing HTML entity definitions available from:
http://www.w3.org/ as e.g.
diff --git a/Tools/scripts/pdeps.py b/Tools/scripts/pdeps.py
index 5c5a05b..938f31c 100755
--- a/Tools/scripts/pdeps.py
+++ b/Tools/scripts/pdeps.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# pdeps
#
diff --git a/Tools/scripts/pickle2db.py b/Tools/scripts/pickle2db.py
index a43ffae..b5b6571 100644
--- a/Tools/scripts/pickle2db.py
+++ b/Tools/scripts/pickle2db.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""
Synopsis: %(prog)s [-h|-b|-g|-r|-a|-d] [ picklefile ] dbfile
diff --git a/Tools/scripts/pindent.py b/Tools/scripts/pindent.py
index f80a8b7..15b6399 100755
--- a/Tools/scripts/pindent.py
+++ b/Tools/scripts/pindent.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# This file contains a class and a main program that perform three
# related (though complimentary) formatting operations on Python
diff --git a/Tools/scripts/ptags.py b/Tools/scripts/ptags.py
index ac01356..ca643b3 100755
--- a/Tools/scripts/ptags.py
+++ b/Tools/scripts/ptags.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# ptags
#
diff --git a/Tools/scripts/pysource.py b/Tools/scripts/pysource.py
index 05c2b86..048131e 100644
--- a/Tools/scripts/pysource.py
+++ b/Tools/scripts/pysource.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""\
List python source files.
diff --git a/Tools/scripts/reindent-rst.py b/Tools/scripts/reindent-rst.py
index 55b99eb..246af3e 100755
--- a/Tools/scripts/reindent-rst.py
+++ b/Tools/scripts/reindent-rst.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# Make a reST file compliant to our pre-commit hook.
# Currently just remove trailing whitespace.
diff --git a/Tools/scripts/reindent.py b/Tools/scripts/reindent.py
index 8557b5d..4f47b7a 100755
--- a/Tools/scripts/reindent.py
+++ b/Tools/scripts/reindent.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Released to the public domain, by Tim Peters, 03 October 2000.
diff --git a/Tools/scripts/rgrep.py b/Tools/scripts/rgrep.py
index 12d736e..eee6a07 100755
--- a/Tools/scripts/rgrep.py
+++ b/Tools/scripts/rgrep.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Reverse grep.
diff --git a/Tools/scripts/serve.py b/Tools/scripts/serve.py
index 61de63d..e4074c1 100755
--- a/Tools/scripts/serve.py
+++ b/Tools/scripts/serve.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
'''
Small wsgiref based web server. Takes a path to serve from and an
optional port number (defaults to 8000), then tries to serve files.
diff --git a/Tools/scripts/suff.py b/Tools/scripts/suff.py
index 462ec32..8e22a7e 100755
--- a/Tools/scripts/suff.py
+++ b/Tools/scripts/suff.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# suff
#
diff --git a/Tools/scripts/svneol.py b/Tools/scripts/svneol.py
index 9357c7e..80616a6 100644
--- a/Tools/scripts/svneol.py
+++ b/Tools/scripts/svneol.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""
SVN helper script.
diff --git a/Tools/scripts/texi2html.py b/Tools/scripts/texi2html.py
index 86229f2..af2147a 100755
--- a/Tools/scripts/texi2html.py
+++ b/Tools/scripts/texi2html.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Convert GNU texinfo files into HTML, one file per node.
# Based on Texinfo 2.14.
diff --git a/Tools/scripts/treesync.py b/Tools/scripts/treesync.py
index 8643ee7..b2649c4 100755
--- a/Tools/scripts/treesync.py
+++ b/Tools/scripts/treesync.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Script to synchronize two source trees.
diff --git a/Tools/scripts/untabify.py b/Tools/scripts/untabify.py
index 1a186a3..f21b7c8 100755
--- a/Tools/scripts/untabify.py
+++ b/Tools/scripts/untabify.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"Replace tabs with spaces in argument files. Print names of changed files."
diff --git a/Tools/scripts/which.py b/Tools/scripts/which.py
index a9f4907..4fc37a0 100755
--- a/Tools/scripts/which.py
+++ b/Tools/scripts/which.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Variant of "which".
# On stderr, near and total misses are reported.
diff --git a/Tools/scripts/xxci.py b/Tools/scripts/xxci.py
index 8cffc9e..228f0c0 100755
--- a/Tools/scripts/xxci.py
+++ b/Tools/scripts/xxci.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# xxci
#
diff --git a/Tools/ssl/get-remote-certificate.py b/Tools/ssl/get-remote-certificate.py
index b63428a..67491c1 100644
--- a/Tools/ssl/get-remote-certificate.py
+++ b/Tools/ssl/get-remote-certificate.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
#
# fetch the certificate that the server(s) are providing in PEM form
#
diff --git a/Tools/unicode/comparecodecs.py b/Tools/unicode/comparecodecs.py
index dade1ce..0f5c1e2 100644
--- a/Tools/unicode/comparecodecs.py
+++ b/Tools/unicode/comparecodecs.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
""" Compare the output of two codecs.
diff --git a/Tools/webchecker/wcgui.py b/Tools/webchecker/wcgui.py
index 4ce613a..88d8f56 100755
--- a/Tools/webchecker/wcgui.py
+++ b/Tools/webchecker/wcgui.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""GUI interface to webchecker.
diff --git a/Tools/webchecker/webchecker.py b/Tools/webchecker/webchecker.py
index 651cf85..7c3124c 100755
--- a/Tools/webchecker/webchecker.py
+++ b/Tools/webchecker/webchecker.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# Original code by Guido van Rossum; extensive changes by Sam Bayer,
# including code to check URL fragments.
diff --git a/Tools/webchecker/websucker.py b/Tools/webchecker/websucker.py
index 3bbdec3..8076af5 100755
--- a/Tools/webchecker/websucker.py
+++ b/Tools/webchecker/websucker.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""A variant on webchecker that creates a mirror copy of a remote site."""
diff --git a/Tools/webchecker/wsgui.py b/Tools/webchecker/wsgui.py
index b2223c4..032523b 100755
--- a/Tools/webchecker/wsgui.py
+++ b/Tools/webchecker/wsgui.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
"""Tkinter-based GUI for websucker.