diff --git a/pywt/_extensions/_cwt.pyx b/pywt/_extensions/_cwt.pyx
index c073851d6..bd7fa852f 100644
--- a/pywt/_extensions/_cwt.pyx
+++ b/pywt/_extensions/_cwt.pyx
@@ -1,6 +1,7 @@
#cython: boundscheck=False, wraparound=False
-cimport common, c_wt
-from common cimport pywt_index_t, MODE
+from . cimport common
+from . cimport c_wt
+from .common cimport pywt_index_t, MODE
from ._pywt cimport _check_dtype
cimport numpy as np
diff --git a/pywt/_extensions/_dwt.pyx b/pywt/_extensions/_dwt.pyx
index 05a094b7c..7af5d3920 100644
--- a/pywt/_extensions/_dwt.pyx
+++ b/pywt/_extensions/_dwt.pyx
@@ -1,6 +1,7 @@
#cython: boundscheck=False, wraparound=False
-cimport common, c_wt
-from common cimport pywt_index_t, MODE
+from . cimport common
+from . cimport c_wt
+from .common cimport pywt_index_t, MODE
from ._pywt cimport _check_dtype
cimport numpy as np
diff --git a/pywt/_extensions/_pywt.pxd b/pywt/_extensions/_pywt.pxd
index bb7b39b4c..5fcd888ab 100644
--- a/pywt/_extensions/_pywt.pxd
+++ b/pywt/_extensions/_pywt.pxd
@@ -1,4 +1,4 @@
-cimport wavelet
+from . cimport wavelet
cimport numpy as np
include "config.pxi"
diff --git a/pywt/_extensions/_pywt.pyx b/pywt/_extensions/_pywt.pyx
index 93a2485e4..95388c9dc 100644
--- a/pywt/_extensions/_pywt.pyx
+++ b/pywt/_extensions/_pywt.pyx
@@ -1,5 +1,5 @@
# Copyright (c) 2006-2012 Filip Wasilewski
-# Copyright (c) 2012-2016 The PyWavelets Developers
+# Copyright (c) 2012-2018 The PyWavelets Developers
#
# See COPYING for license details.
@@ -11,8 +11,8 @@ __all__ = ['MODES', 'Modes', 'DiscreteContinuousWavelet', 'Wavelet',
import warnings
import re
-cimport c_wt
-cimport common
+from . cimport c_wt
+from . cimport common
from ._dwt cimport upcoef
from ._cwt cimport cwt_psi_single
@@ -1044,7 +1044,7 @@ cpdef np.dtype _check_dtype(data):
def keep(arr, keep_length):
length = len(arr)
if keep_length < length:
- left_bound = (length - keep_length) / 2
+ left_bound = (length - keep_length) // 2
return arr[left_bound:left_bound + keep_length]
return arr
diff --git a/pywt/_extensions/_swt.pyx b/pywt/_extensions/_swt.pyx
index 087554110..718b7b0c3 100644
--- a/pywt/_extensions/_swt.pyx
+++ b/pywt/_extensions/_swt.pyx
@@ -1,12 +1,12 @@
#cython: boundscheck=False, wraparound=False
-cimport common
-cimport c_wt
+from . cimport common
+from . cimport c_wt
import warnings
import numpy as np
cimport numpy as np
-from common cimport pywt_index_t
+from .common cimport pywt_index_t
from ._pywt cimport c_wavelet_from_object, cdata_t, Wavelet, _check_dtype
include "config.pxi"
diff --git a/pywt/_extensions/c_wt.pxd b/pywt/_extensions/c_wt.pxd
index f99edf137..f08387938 100644
--- a/pywt/_extensions/c_wt.pxd
+++ b/pywt/_extensions/c_wt.pxd
@@ -3,9 +3,9 @@
#
# See COPYING for license details.
-from common cimport (MODE, pywt_index_t, ArrayInfo, Coefficient,
- DiscreteTransformType)
-from wavelet cimport DiscreteWavelet, ContinuousWavelet
+from .common cimport (MODE, pywt_index_t, ArrayInfo, Coefficient,
+ DiscreteTransformType)
+from .wavelet cimport DiscreteWavelet, ContinuousWavelet
include "config.pxi"
diff --git a/pywt/_extensions/wavelet.pxd b/pywt/_extensions/wavelet.pxd
index d9f819d82..e03825df7 100644
--- a/pywt/_extensions/wavelet.pxd
+++ b/pywt/_extensions/wavelet.pxd
@@ -1,4 +1,4 @@
-from common cimport pywt_index_t
+from .common cimport pywt_index_t
cdef extern from "c/wavelets.h":
ctypedef enum SYMMETRY:
diff --git a/setup.py b/setup.py
index 9d627e8a3..e965b8398 100755
--- a/setup.py
+++ b/setup.py
@@ -162,8 +162,7 @@ def get_cython_sources(use_cython):
for k, v in py_defines.items():
fd.write('%s = %d\n' % (k, int(v)))
-
-cythonize_opts = {}
+cythonize_opts = {'language_level': '3'}
if os.environ.get("CYTHON_TRACE"):
cythonize_opts['linetrace'] = True
cython_macros.append(("CYTHON_TRACE_NOGIL", 1))