diff --git a/force_bdss/data_sources/base_data_source.py b/force_bdss/data_sources/base_data_source.py
index f3b12d62f0f02a0d72e0e74b7cdb5848f8f80830..49c114082a4ce68b0301f31e3f31e02959c8b06e 100644
--- a/force_bdss/data_sources/base_data_source.py
+++ b/force_bdss/data_sources/base_data_source.py
@@ -1,7 +1,8 @@
 import abc
+import six
 
 
-class BaseDataSource(metaclass=abc.ABCMeta):
+class BaseDataSource(six.with_metaclass(abc.ABCMeta)):
     def __init__(self, bundle, application, model):
         self.bundle = bundle
         self.application = application
diff --git a/force_bdss/mco/base_multi_criteria_optimizer.py b/force_bdss/mco/base_multi_criteria_optimizer.py
index eb530d5dfdf7760377e1b2b4b8aade740a28e55f..5930c5ca5ecc0528e6e8effdf262d45f213f117f 100644
--- a/force_bdss/mco/base_multi_criteria_optimizer.py
+++ b/force_bdss/mco/base_multi_criteria_optimizer.py
@@ -1,7 +1,8 @@
 import abc
+import six
 
 
-class BaseMultiCriteriaOptimizer(metaclass=abc.ABCMeta):
+class BaseMultiCriteriaOptimizer(six.with_metaclass(abc.ABCMeta)):
     def __init__(self, bundle, application, model):
         self.bundle = bundle
         self.application = application
diff --git a/requirements/requirements.txt b/requirements/requirements.txt
index 2be76f218f7363cdffadd53391f60698221a5d61..cfc27054ea4f3f6acf0be5267e8bf9a3809d9881 100644
--- a/requirements/requirements.txt
+++ b/requirements/requirements.txt
@@ -1,2 +1,4 @@
 envisage==4.6.0
 click==6.7
+six==1.10.0
+stevedore==1.24.0
diff --git a/setup.py b/setup.py
index aa6f85129dbbdc940f079ad46a06ac0089d26c72..0c1ce48e5907a3478cee704bf147b05ce19dee7d 100644
--- a/setup.py
+++ b/setup.py
@@ -20,6 +20,7 @@ setup(
     install_requires=[
         "envisage >= 4.6.0",
         "click >= 6.7",
-        "stevedore >= 1.24.0"
+        "stevedore >= 1.24.0",
+        "six >= 1.10.0"
     ]
 )