diff --git a/compiler/2014/Python_CodeGen.jrag b/compiler/2014/Python_CodeGen.jrag
index ac74601430639c648bcab466dea49ebc8e315770..dda5a628d441964db467f9e2d356766f3b0181dd 100644
--- a/compiler/2014/Python_CodeGen.jrag
+++ b/compiler/2014/Python_CodeGen.jrag
@@ -74,7 +74,7 @@ aspect Python_CodeGen {
 
   public void Specification.Python_gen(PrintStream out, String baseName, int version) {
     Python_env env = new Python_env(out);
-    env.println("#!/usr/bin/python");
+    env.println("#!/usr/bin/python2");
     env.println("# Auto generated " + baseName);
     env.println();
     env.println("import labcomm2014");
diff --git a/examples/duck_typing/duck_typing.py b/examples/duck_typing/duck_typing.py
index c918ab510e3f6f1d6eaa451a8c34298ebbea3507..6df50f256dc967fb4b8a2322af745a958a8591bd 100755
--- a/examples/duck_typing/duck_typing.py
+++ b/examples/duck_typing/duck_typing.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 
 import labcomm2014
 import animal
diff --git a/examples/simple/example_encoder.py b/examples/simple/example_encoder.py
index 49063c839a4d36b78db258c122809e34fb24ebcb..33d22a54945886260f6abf72bb70754048d138d8 100755
--- a/examples/simple/example_encoder.py
+++ b/examples/simple/example_encoder.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 
 import labcomm2014
 import sys
diff --git a/examples/tcp/example_tcp_client_decoder.py b/examples/tcp/example_tcp_client_decoder.py
index 99d305c9a4a055b65b3de53a7c327ab38f52331c..4ed4b0c0bf6c3272379df1cb2aba991bd2f64ac4 100755
--- a/examples/tcp/example_tcp_client_decoder.py
+++ b/examples/tcp/example_tcp_client_decoder.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 
 import os
 import sys
diff --git a/examples/user_types/example_encoder.py b/examples/user_types/example_encoder.py
index 9ef288604a08782a2ff77c06d3ae403cf8559ea5..949f8775a6d9713cc6ca8c066696ec2eeb50ccba 100755
--- a/examples/user_types/example_encoder.py
+++ b/examples/user_types/example_encoder.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 
 import labcomm2014
 import sys
diff --git a/examples/user_types/example_handlers.py b/examples/user_types/example_handlers.py
index cd03c73f3a27e58ef0b6e6c610b0fcf4dc8b7c29..7e5fc74debed259915a1eb1559e508966a2fee6c 100755
--- a/examples/user_types/example_handlers.py
+++ b/examples/user_types/example_handlers.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 
 import labcomm2014
 import sys,traceback
diff --git a/examples/wiki_example/example_decoder.py b/examples/wiki_example/example_decoder.py
index b9ab94294a73b34b5a309978b6a5a9bcd9f754f1..51d14a28ae820330e77823cc2e42c1ac969a18ab 100755
--- a/examples/wiki_example/example_decoder.py
+++ b/examples/wiki_example/example_decoder.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 
 import labcomm2014
 import sys
diff --git a/lib/c/version_compare.py b/lib/c/version_compare.py
index ad2c1b1c3fdf5186869bacc42801012b20dae789..bea41ee5a600e71683eb4116b637837eb985630b 100755
--- a/lib/c/version_compare.py
+++ b/lib/c/version_compare.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 
 import os
 import sys
diff --git a/lib/python/labcomm2014/LabComm.py b/lib/python/labcomm2014/LabComm.py
index d37d24dc7d9424be00c432654808f86d83f3ebbc..f3988133cf187a2fdc0feee9d6c4757c146392d4 100644
--- a/lib/python/labcomm2014/LabComm.py
+++ b/lib/python/labcomm2014/LabComm.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 #
 # LabComm2014 packet has the following layout
 #
diff --git a/test/relay_gen_c.py b/test/relay_gen_c.py
index 3e4944ad762fdca378767c8fd8ec7d24eebb3ca2..97b95805a44faeee31d143bcf830ae11c32a2719 100755
--- a/test/relay_gen_c.py
+++ b/test/relay_gen_c.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 
 import argparse
 import re
diff --git a/test/relay_gen_cs.py b/test/relay_gen_cs.py
index bdf782e5c49c2680ee10239326ae294701c1941c..23124348c68befa73d5b077f3f7491a580283b96 100755
--- a/test/relay_gen_cs.py
+++ b/test/relay_gen_cs.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 
 import argparse
 import re
diff --git a/test/relay_gen_java.py b/test/relay_gen_java.py
index 04aefa9d4c0fd7ae56c891df20874a76fe13385b..d989b4ed0769d3124270a928c5d5fe0d24a1e623 100755
--- a/test/relay_gen_java.py
+++ b/test/relay_gen_java.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 
 import argparse
 import re
diff --git a/test/test_encoder_decoder.py b/test/test_encoder_decoder.py
index 550692f8de572792817b36a3db270647e4a25041..f069c7f7ce822e05f6b886b180361f5f112320eb 100755
--- a/test/test_encoder_decoder.py
+++ b/test/test_encoder_decoder.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 # -*- coding: utf-8 -*-
 
 import argparse
diff --git a/test/test_errors.py b/test/test_errors.py
index 24b9627cd07b6aa0abacf7d131609dfa7ef16fe2..5cbba59dc05151baa637d911b060c8b691ba2cec 100755
--- a/test/test_errors.py
+++ b/test/test_errors.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 
 import sys
 import argparse
diff --git a/test/test_renaming_encoder_decoder.py b/test/test_renaming_encoder_decoder.py
index a2164cc48f362204718f7e3343abdefa16fbafa3..52e7420db4fc35ae27c7ea1061ffd9b2b70a1dbf 100755
--- a/test/test_renaming_encoder_decoder.py
+++ b/test/test_renaming_encoder_decoder.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 # -*- coding: utf-8 -*-
 
 import argparse
diff --git a/tools/lc_to_matlab_coder.py b/tools/lc_to_matlab_coder.py
index dda966586b774727f98233f6ad3e88b8402e4fd5..c193ebe9478241028bb749e6f1302f94699aeee2 100755
--- a/tools/lc_to_matlab_coder.py
+++ b/tools/lc_to_matlab_coder.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python2
 
 import sys
 import imp