diff --git a/openedx/core/djangoapps/credentials/admin.py b/openedx/core/djangoapps/credentials/admin.py
index 556f5008d10cf7902ed619d8a938e268ba9e6b49..5081594046508a1af1c1ef5b1b50dd3d6b1b5548 100644
--- a/openedx/core/djangoapps/credentials/admin.py
+++ b/openedx/core/djangoapps/credentials/admin.py
@@ -2,6 +2,8 @@
 Django admin pages for credentials support models.
 """
 
+from __future__ import absolute_import
+
 from config_models.admin import ConfigurationModelAdmin
 from django.contrib import admin
 
diff --git a/openedx/core/djangoapps/credentials/models.py b/openedx/core/djangoapps/credentials/models.py
index 0d4a7a77ea887fe57827fa6eec456544f076a25e..ad39709f54d9aa799f8c0269d354eb450e8f2098 100644
--- a/openedx/core/djangoapps/credentials/models.py
+++ b/openedx/core/djangoapps/credentials/models.py
@@ -2,12 +2,14 @@
 Models for credentials support for the LMS and Studio.
 """
 
-from urlparse import urljoin
+from __future__ import absolute_import
 
+import six
 from config_models.models import ConfigurationModel
 from django.conf import settings
 from django.db import models
 from django.utils.translation import ugettext_lazy as _
+from six.moves.urllib.parse import urljoin  # pylint: disable=import-error
 
 from openedx.core.djangoapps.site_configuration import helpers
 
@@ -130,4 +132,4 @@ class NotifyCredentialsConfig(ConfigurationModel):
     )
 
     def __unicode__(self):
-        return unicode(self.arguments)
+        return six.text_type(self.arguments)
diff --git a/openedx/core/djangoapps/credentials/utils.py b/openedx/core/djangoapps/credentials/utils.py
index 0462b12ca1fcf05d149724b18e96b00f9bd878be..b74eb7b1dcf61198dceebd69d52f304ec0fbd052 100644
--- a/openedx/core/djangoapps/credentials/utils.py
+++ b/openedx/core/djangoapps/credentials/utils.py
@@ -1,5 +1,5 @@
 """Helper functions for working with Credentials."""
-from __future__ import unicode_literals
+from __future__ import absolute_import, unicode_literals
 
 from edx_rest_api_client.client import EdxRestApiClient