From a1160c57e871822809c8dd401694f2aba32e59a1 Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Thu, 15 Jun 2017 19:48:10 +0900 Subject: [PATCH 1/5] Use envmarkers for wheels and conditions for sdist --- setup.py | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/setup.py b/setup.py index d015561de6..15503ab08a 100755 --- a/setup.py +++ b/setup.py @@ -14,11 +14,24 @@ # You need to have the setuptools module installed. Try reading the setuptools # documentation: http://pypi.python.org/pypi/setuptools REQUIRES = ["requests >= 2.0.0", "six", "pytz", "PyJWT >= 1.4.2"] +REQUIRES_PY2 = ["cryptography >= 1.3.4", "idna >= 2.0.0", "pyOpenSSL >= 0.14"] +REQUIRES_PY3 = ['pysocks'] -if sys.version_info < (3, 0): - REQUIRES.extend(["cryptography >= 1.3.4", "idna >= 2.0.0", "pyOpenSSL >= 0.14"]) -if sys.version_info >= (3, 0): - REQUIRES.append('pysocks') +if 'bdist_wheel' not in sys.argv: + # Since wheels don't have setup.py but a static list of dependencies, + # if install_requires is once made it's fixed to a wheel file. + # To prevent fixing the following conditional dependencies, opt-out them + # when building wheels and use "environment markers" instead (see below). + if sys.version_info < (3, 0): + REQUIRES.extend(REQUIRES_PY2) + if sys.version_info >= (3, 0): + REQUIRES.extend(REQUIRES_PY3) + +# Environment markers +extras_require = { + ":python_version<'3.0'": REQUIRES_PY2, + ":python_version>='3.0'": REQUIRES_PY3, +} setup( name = "twilio", @@ -30,12 +43,7 @@ keywords = ["twilio","twiml"], install_requires = REQUIRES, # bdist conditional requirements support - extras_require={ - ':python_version=="3.3"': ['pysocks'], - ':python_version=="3.4"': ['pysocks'], - ':python_version=="3.5"': ['pysocks'], - ':python_version=="3.6"': ['pysocks'], - }, + extras_require = extras_require, packages = find_packages(exclude=['tests', 'tests.*']), include_package_data=True, classifiers = [ From e657be3c2f5d7b5a23b8ce323dd99b38f5683d07 Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Thu, 15 Jun 2017 20:23:28 +0900 Subject: [PATCH 2/5] Older pip doesn't support < or >= --- setup.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 15503ab08a..351d44129f 100755 --- a/setup.py +++ b/setup.py @@ -29,8 +29,10 @@ # Environment markers extras_require = { - ":python_version<'3.0'": REQUIRES_PY2, - ":python_version>='3.0'": REQUIRES_PY3, + # Older versions of pip don't support operators other than ==/!= + ":python_version=='2.6'": REQUIRES_PY2, + ":python_version=='2.7'": REQUIRES_PY2, + ":python_version!='2.6' and python_version!='2.7'": REQUIRES_PY3, } setup( From 2786a2fc77e47a934f8d7f02bdf35cd62c99eae8 Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Fri, 16 Jun 2017 01:53:52 +0900 Subject: [PATCH 3/5] Unify two conditions for py2 into one --- setup.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 351d44129f..14ac6c57c7 100755 --- a/setup.py +++ b/setup.py @@ -30,8 +30,7 @@ # Environment markers extras_require = { # Older versions of pip don't support operators other than ==/!= - ":python_version=='2.6'": REQUIRES_PY2, - ":python_version=='2.7'": REQUIRES_PY2, + ":python_version=='2.6' or python_version=='2.7'": REQUIRES_PY2, ":python_version!='2.6' and python_version!='2.7'": REQUIRES_PY3, } From f1f9c15ce381ba7fb8d9dbe7e0147dcf0b414bdb Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Fri, 16 Jun 2017 01:56:36 +0900 Subject: [PATCH 4/5] Be more explicit about supported Python 3 versions --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 14ac6c57c7..e8ab577f99 100755 --- a/setup.py +++ b/setup.py @@ -31,7 +31,8 @@ extras_require = { # Older versions of pip don't support operators other than ==/!= ":python_version=='2.6' or python_version=='2.7'": REQUIRES_PY2, - ":python_version!='2.6' and python_version!='2.7'": REQUIRES_PY3, + (":python_version=='3.3' or python_version=='3.4' or" + " python_version=='3.5' or python_version=='3.6'"): REQUIRES_PY3, } setup( From 09ce75f1999a75d60ee97d47742f08c8d5de712f Mon Sep 17 00:00:00 2001 From: Hong Minhee Date: Fri, 16 Jun 2017 14:37:10 +0900 Subject: [PATCH 5/5] No more support Python 2.6 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index e8ab577f99..be2472b167 100755 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ # Environment markers extras_require = { # Older versions of pip don't support operators other than ==/!= - ":python_version=='2.6' or python_version=='2.7'": REQUIRES_PY2, + ":python_version=='2.7'": REQUIRES_PY2, (":python_version=='3.3' or python_version=='3.4' or" " python_version=='3.5' or python_version=='3.6'"): REQUIRES_PY3, }