diff --git a/setup.py b/setup.py
index 8fe5fc8d7b8e4eec6d392c9dec0a4385d4270082_c2V0dXAucHk=..390410a6545d9088dc84392009f51500e3935a1c_c2V0dXAucHk= 100644
--- a/setup.py
+++ b/setup.py
@@ -63,6 +63,8 @@
         raise SystemExit(
             "Couldn't import standard bz2 (incomplete Python install).")
 
+ispypy = "PyPy" in sys.version
+
 import os, stat, subprocess, time
 import re
 import shutil
@@ -276,7 +278,7 @@
 
 
 class hgdist(Distribution):
-    pure = 0
+    pure = ispypy
 
     global_options = Distribution.global_options + \
                      [('pure', None, "use pure (slow) Python "