diff --git a/setup.py b/setup.py
index d12415b8f833a1a27777b52f0877eb2f2545dbcd_c2V0dXAucHk=..dbbe45ae5ad1d80ada459bbfd7fbd59e2275e018_c2V0dXAucHk= 100644
--- a/setup.py
+++ b/setup.py
@@ -74,7 +74,7 @@
     badpython = True
 
     # Allow Python 3 from source checkouts.
-    if os.path.isdir('.hg'):
+    if os.path.isdir('.hg') or 'HGPYTHON3' in os.environ:
         badpython = False
 
     if badpython:
@@ -369,7 +369,7 @@
     from mercurial import __version__
     version = __version__.version
 except ImportError:
-    version = 'unknown'
+    version = b'unknown'
 finally:
     if oldpolicy is None:
         del os.environ['HGMODULEPOLICY']