Skip to content

[MRG] Add python requires plus message for old pips #299

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion metric_learn/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '0.6.0'
__version__ = '0.6.1'
29 changes: 28 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,32 @@
from setuptools import setup
import os
import io
import sys


CURRENT_PYTHON = sys.version_info[:2]
REQUIRED_PYTHON = (3, 6)

# This check and everything above must remain compatible with Python 2.7.
if CURRENT_PYTHON < REQUIRED_PYTHON:
sys.stderr.write("""
==========================
Unsupported Python version
==========================
This version of metric-learn requires Python {}.{}, but you're trying to
install it on Python {}.{}.
This may be because you are using a version of pip that doesn't
understand the python_requires classifier. Make sure you
have pip >= 9.0 and setuptools >= 24.2, then try again:
$ python -m pip install --upgrade pip setuptools
$ python -m pip install django
This will install the latest version of metric-learn which works on your
version of Python. If you can't upgrade your pip (or Python), request
an older version of metric-learn:
$ python -m pip install "metric-learn<0.6.0"
""".format(*(REQUIRED_PYTHON + CURRENT_PYTHON)))
sys.exit(1)


version = {}
with io.open(os.path.join('metric_learn', '_version.py')) as fp:
Expand All @@ -16,6 +42,7 @@
version=version['__version__'],
description='Python implementations of metric learning algorithms',
long_description=long_description,
python_requires='>={}.{}'.format(*REQUIRED_PYTHON),
author=[
'CJ Carey',
'Yuan Tang',
Expand All @@ -38,7 +65,7 @@
install_requires=[
'numpy',
'scipy',
'scikit-learn',
'scikit-learn>=0.20.3',
],
extras_require=dict(
docs=['sphinx', 'shinx_rtd_theme', 'numpydoc'],
Expand Down