Sergio Pascual 66f8004
# Licensed under a 3-clause BSD style license - see README.rst
Sergio Pascual 66f8004
"""
Sergio Pascual 66f8004
Handle loading joblib package from system or from the bundled copy
Sergio Pascual 66f8004
Sergio Pascual 66f8004
"""
Sergio Pascual 66f8004
import sys
Sergio Pascual 66f8004
Sergio Pascual 66f8004
_dest_root = 'sklearn.externals.joblib'
Sergio Pascual 66f8004
# Trying to load alternate packages
Sergio Pascual 66f8004
sys.modules[_dest_root] = None
Sergio Pascual 66f8004
Sergio Pascual 66f8004
# We have removed everything we already imported
Sergio Pascual 66f8004
# Importing again
Sergio Pascual 66f8004
import sys 
Sergio Pascual 66f8004
Sergio Pascual 66f8004
_system_package = False
Sergio Pascual 66f8004
_dest_root = 'sklearn.externals.joblib'
Sergio Pascual 66f8004
Sergio Pascual 66f8004
try:
Sergio Pascual 66f8004
    import joblib
Sergio Pascual 66f8004
    _system_package = True
Sergio Pascual 66f8004
except ImportError:
Sergio Pascual 66f8004
    _system_package = False
Sergio Pascual 66f8004
Sergio Pascual 66f8004
if _system_package:
Sergio Pascual 66f8004
    # Check version
Sergio Pascual 66f8004
    from distutils.version import StrictVersion
Sergio Pascual 66f8004
    _valid_version = False
Sergio Pascual 66f8004
    if StrictVersion(joblib.__version__) >= StrictVersion('0.8.0'):
Sergio Pascual 66f8004
        _valid_version = True
Sergio Pascual 66f8004
Sergio Pascual 66f8004
    if _valid_version:
Sergio Pascual 66f8004
        joblib.system_package = True
Sergio Pascual 66f8004
        joblib.bundled_package = False
Sergio Pascual 66f8004
        sys.modules[_dest_root] = joblib
Sergio Pascual 66f8004
    else:
Sergio Pascual 66f8004
        _system_package = False
Sergio Pascual 66f8004
Sergio Pascual 66f8004
if not _system_package:
Sergio Pascual 66f8004
    import sklearn.externals.bundled.joblib as joblib
Sergio Pascual 66f8004
    joblib.system_package = False
Sergio Pascual 66f8004
    joblib.bundled_package = True
Sergio Pascual 66f8004
    sys.modules[_dest_root] = joblib
Sergio Pascual 66f8004