diff --git a/debpython/version.py b/debpython/version.py
index 269549672af23a9cdb57dfc501c6481b851044d7..544d65ddd40f7419bd4a66e8fa558e84da6ba047 100644
--- a/debpython/version.py
+++ b/debpython/version.py
@@ -22,6 +22,7 @@
 import logging
 import re
 from ConfigParser import SafeConfigParser
+from os import environ
 from os.path import exists, dirname, join
 from types import GeneratorType
 
@@ -36,18 +37,24 @@ log = logging.getLogger(__name__)
 
 # try to read debian_defaults and get a list of supported Python versions and
 # the default one from there
-_config = SafeConfigParser()
-_config.read(['/usr/share/python/debian_defaults',
-             join(dirname(__file__), '..', 'debian', 'debian_defaults')])
+_supported = environ.get('DEBPYTHON_SUPPORTED')
+_default = environ.get('DEBPYTHON_DEFAULT')
+if not _supported or not _default:
+    _config = SafeConfigParser()
+    _config.read(['/usr/share/python/debian_defaults',
+                 join(dirname(__file__), '..', 'debian', 'debian_defaults')])
+    if not _default:
+        _default = _config.get('DEFAULT', 'default-version')[6:]
+    if not _supported:
+        _supported = _config.get('DEFAULT', 'supported-versions')\
+                     .replace('python', '')
 try:
-    DEFAULT = tuple(int(i) for i in _config.get('DEFAULT',
-                    'default-version')[6:].split('.'))
+    DEFAULT = tuple(int(i) for i in _default.split('.'))
 except Exception:
     log.exception('cannot read debian_defaults')
 try:
-    SUPPORTED = tuple(tuple(int(j) for j in i.strip()[6:].split('.'))\
-                            for i in _config.get('DEFAULT',
-                                'supported-versions').split(','))
+    SUPPORTED = tuple(tuple(int(j) for j in i.strip().split('.'))
+                            for i in _supported.split(','))
 except Exception:
     log.exception('cannot read debian_defaults')
 
@@ -83,10 +90,10 @@ def get_requested_versions(vrange=None, available=None):
             versions = set(v for v in SUPPORTED if minv <= v < maxv)
 
     if available:
-        versions = set(v for v in versions \
+        versions = set(v for v in versions
                        if exists("/usr/bin/python%d.%d" % v))
     elif available is False:
-        versions = set(v for v in versions \
+        versions = set(v for v in versions
                        if not exists("/usr/bin/python%d.%d" % v))
 
     return versions
@@ -190,7 +197,7 @@ def parse_pycentral_vrange(value):
         minv = sorted(hardcoded)[0]
 
     if current:
-        versions = sorted(get("%s-%s" % (minv if minv else '', \
+        versions = sorted(get("%s-%s" % (minv if minv else '',
                                          maxv if maxv else '')))
         if not versions:
             raise ValueError("version range doesn't match installed Python versions: %s" % value)