diff --git a/Python/makeopcodetargets.py b/Python/makeopcodetargets.py
index 7a57a06..023c9e6 100755
--- a/Python/makeopcodetargets.py
+++ b/Python/makeopcodetargets.py
@@ -3,14 +3,34 @@
 (for compilers supporting computed gotos or "labels-as-values", such as gcc).
 """
 
-import opcode
 import os
 import sys
 
 
+try:
+    from importlib.machinery import SourceFileLoader
+except ImportError:
+    import imp
+
+    def find_module(modname):
+        """Finds and returns a module in the local dist/checkout.
+        """
+        modpath = os.path.join(
+            os.path.dirname(os.path.dirname(__file__)), "Lib")
+        return imp.load_module(modname, *imp.find_module(modname, [modpath]))
+else:
+    def find_module(modname):
+        """Finds and returns a module in the local dist/checkout.
+        """
+        modpath = os.path.join(
+            os.path.dirname(os.path.dirname(__file__)), "Lib", modname + ".py")
+        return SourceFileLoader(modname, modpath).load_module()
+
+
 def write_contents(f):
     """Write C code contents to the target file object.
     """
+    opcode = find_module('opcode')
     targets = ['_unknown_opcode'] * 256
     for opname, op in opcode.opmap.items():
         targets[op] = "TARGET_%s" % opname
