diff --git a/.travis.yml b/.travis.yml index 2867bd1..c7dd66d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,10 +10,12 @@ matrix: sudo: true before_install: # coverage submission packages + - pip install -U pip + - pip install -U pytest - pip install codecov - pip install pymongo install: - - if [ "$TRAVIS_PYTHON_VERSION" == "2.7" ]; then pip install pytest coverage pytest-cov .; else pip install ".[test]"; fi + - if [ "$TRAVIS_PYTHON_VERSION" == "2.7" ]; then pip install coverage pytest-cov .; else pip install ".[test]"; fi script: python -m pytest --cov=cachier # submit coverage after_success: diff --git a/cachier/core.py b/cachier/core.py index fe3c3fb..01aa029 100644 --- a/cachier/core.py +++ b/cachier/core.py @@ -16,18 +16,7 @@ import os from functools import wraps import datetime -try: # for asynchronous file uploads - from concurrent.futures import ThreadPoolExecutor -except ImportError: # we're in python 2.x - import pip - PACKAGES = [ - package.project_name - for package - in pip.get_installed_distributions() - ] - if 'futures' not in PACKAGES: - pip.main(['install', 'futures']) - from concurrent.futures import ThreadPoolExecutor +from concurrent.futures import ThreadPoolExecutor from .pickle_core import _PickleCore from .mongo_core import _MongoCore, RecalculationNeeded diff --git a/setup.py b/setup.py index ccefa05..cac0abe 100644 --- a/setup.py +++ b/setup.py @@ -38,10 +38,11 @@ setup( cachier=cachier.scripts.cli:cli ''', install_requires=[ - 'watchdog', 'portalocker' + 'watchdog', 'portalocker', ], extras_require={ - 'test': TEST_REQUIRES + 'test': TEST_REQUIRES, + ':python_version == "2.7"': ['futures'], }, platforms=['linux', 'osx', 'windows'], keywords=['cache', 'persistence', 'mongo', 'memoization', 'decorator'],