diff --git a/freqtrade/optimize/__init__.py b/freqtrade/optimize/__init__.py index f451c68b8..ac5cda4d0 100644 --- a/freqtrade/optimize/__init__.py +++ b/freqtrade/optimize/__init__.py @@ -2,7 +2,6 @@ import gzip import json -import ujson import logging import os from typing import Optional, List, Dict, Tuple, Any @@ -12,6 +11,11 @@ from freqtrade import misc, constants, OperationalException from freqtrade.exchange import Exchange from freqtrade.arguments import TimeRange +import importlib +ujson_found = importlib.util.find_spec("ujson") +if ujson_found is not None: + import ujson + logger = logging.getLogger(__name__) @@ -68,7 +72,10 @@ def load_tickerdata_file( elif os.path.isfile(file): logger.debug('Loading ticker data from file %s', file) with open(file) as tickerdata: - pairdata = ujson.load(tickerdata) + if ujson_found is not None: + pairdata = ujson.load(tickerdata) + else: + pairdata = json.load(tickerdata) else: return None diff --git a/requirements.txt b/requirements.txt index d118f3be4..948c2a1c5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,7 +17,10 @@ pytest-mock==1.10.0 pytest-cov==2.5.1 tabulate==0.8.2 coinmarketcap==5.0.3 -ujson==1.35 + +# Optional, speeds up ticker load +# Requires visual studio in windows. +#ujson==1.35 # Required for hyperopt scikit-optimize==0.5.2