jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/403609 )
Change subject: Update requirements ......................................................................
Update requirements
- Pillow has dropped support for Python 3.3. - cryptography has dropped support for Python 2.6. But the last version that provided wheel files for 2.6 windows platforms is 2.0.3. Newer versions raise error during installation on appvayor. - wheel 0.30.0 has dropped support for Python 2.6 and 3.3. Enforce v0.29.0 on appveyor. This should help to install cryptography and vcrpy. - Give priority to cryptography requirements over PyOpenSSL requirements by moving up in requrement files. - pyOpenSSL needs to be <17.5.0 on py26 because 17.5.0 requires cryptography 2.1.4.
Bug: T184678 Bug: T184507 Bug: T184505 Bug: T178969 Bug: T178250 Change-Id: I95458547fd9c328c66393780f9bafd644876dd1e --- M .appveyor.yml M requests-requirements.txt M requirements.txt M setup.py 4 files changed, 27 insertions(+), 10 deletions(-)
Approvals: jenkins-bot: Verified Xqt: Looks good to me, approved
diff --git a/.appveyor.yml b/.appveyor.yml index d45d987..2224a15 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -108,6 +108,10 @@ - pip install virtualenv - virtualenv env - env\Scripts\activate.bat + # wheel version 0.29.0 is enforced because version 0.30.0 doesn't support + # Python 2.6 and 3.3 anymore. Once we drop support for those versions we + # can use the latest version of wheel. + - pip install wheel==0.29.0 - pip install -r dev-requirements.txt - pip install -r requests-requirements.txt
diff --git a/requests-requirements.txt b/requests-requirements.txt index 94cf204..cd0deff 100644 --- a/requests-requirements.txt +++ b/requests-requirements.txt @@ -2,10 +2,12 @@
# requests security extra # Bug T105767 on Python 2.7 release 9+ -pyOpenSSL>=0.14,!=17.2.0 ; python_full_version < '2.7.9' or python_version > '3.3' -pyOpenSSL<17.5.0 ; python_version == '3.3' -cryptography>=1.3.4 ; python_full_version < '2.7.9' or python_version > '3.3' +cryptography>=1.3.4 ; python_version != '2.6' and (python_full_version < '2.7.9' or python_version > '3.3') cryptography>=1.3.4,<2.0 ; python_version == '3.3' +cryptography>=1.3.4,<=2.0.3 ; python_version == '2.6' and platform_system == 'Windows' +cryptography>=1.3.4,<2.2 ; python_version == '2.6' and platform_system != 'Windows' +pyOpenSSL>=0.14,!=17.2.0 ; python_full_version < '2.7.9' and python_version != '2.6' +PyOpenSSL<17.5.0 ; python_version == '3.3' or python_version == '2.6' idna>=2.0.0 ; python_full_version < '2.7.9' or python_version >= '3' # https://github.com/eliben/pycparser/issues/147 pycparser != 2.14 diff --git a/requirements.txt b/requirements.txt index 7d1d29d..cb6d10c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -22,10 +22,12 @@ requests>=2.4.1,!=2.18.2
# requests security extra -pyOpenSSL>=0.14,!=17.2.0 ; python_full_version < '2.7.9' -PyOpenSSL<17.5.0 ; python_version == '3.3' -cryptography>=1.3.4 ; python_full_version < '2.7.9' +cryptography>=1.3.4 ; python_version != '2.6' and python_full_version < '2.7.9' cryptography>=1.3.4,<2.0 ; python_version == '3.3' +cryptography>=1.3.4,<=2.0.3 ; python_version == '2.6' and platform_system == 'Windows' +cryptography>=1.3.4,<2.2 ; python_version == '2.6' and platform_system != 'Windows' +pyOpenSSL>=0.14,!=17.2.0 ; python_full_version < '2.7.9' and python_version != '2.6' +PyOpenSSL<17.5.0 ; python_version == '3.3' or python_version == '2.6' idna>=2.0.0 ; python_full_version < '2.7.9' # https://github.com/eliben/pycparser/issues/147 pycparser != 2.14 @@ -52,8 +54,9 @@ python-stdnum
# GUI -Pillow<3.5.0 ; python_version < '2.7' -Pillow ; python_version >= '2.7' +Pillow<4.0.0 ; python_version == '2.6' +Pillow>=2.0.0,<5.0.0 ; python_version == '3.3' +Pillow ; python_version == '2.7' or python_version >= '3.4'
# core pagegenerators google >= 1.7 diff --git a/setup.py b/setup.py index 00972fc..495d3f2 100644 --- a/setup.py +++ b/setup.py @@ -52,6 +52,14 @@ irc_dep = 'irc==8.9' if sys.version_info < (2, 7) else 'irc' csv_dep = 'unicodecsv!=0.14.0' if PYTHON_VERSION < (2, 7) else 'unicodecsv'
+# According to https://pillow.readthedocs.io/en/latest/installation.html#notes +if PY26: + pillow = 'Pillow<4.0.0' +elif PYTHON_VERSION[:2] == (3, 3): + pillow = 'Pillow>=2.0.0,<5.0.0' +else: + pillow = 'Pillow' + extra_deps = { # Core library dependencies 'eventstreams': ['sseclient'], @@ -60,7 +68,7 @@ 'Google': ['google>=1.7'], 'IRC': [irc_dep], 'mwparserfromhell': ['mwparserfromhell>=0.3.3'], - 'Tkinter': ['Pillow<3.5.0' if PY26 else 'Pillow'], + 'Tkinter': [pillow], 'security': ['requests[security]', 'pycparser!=2.14'], 'mwoauth': ['mwoauth>=0.2.4,!=0.3.1'], 'html': ['BeautifulSoup4'], @@ -82,7 +90,7 @@ extra_deps['security'].append('PyOpenSSL<17.5.0')
script_deps = { - 'flickrripper.py': ['Pillow<3.5.0' if PY26 else 'Pillow'], + 'flickrripper.py': [pillow], 'states_redirect.py': ['pycountry'], 'weblinkchecker.py': ['memento_client>=0.5.1,!=0.6.0'], 'patrol.py': ['mwparserfromhell>=0.3.3'],