|
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 |
|