prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  urllib3 fails to install on centos7 due to old setuptools not supporting <=, < environment markers.
  Current urllib3 fails to install on centos7. This bug was most likely introduced after https://github.com/shazow/urllib3/commit/9f5454eac808a105307b2d363c99ce97e5109821.
  
  centos7 ships a very old version of setuptools (0.9.8) which does not support `<=` as an environment marker. See https://github.com/pypa/setuptools/issues/380.
  
  ```
  $ python --version
  Python 2.7.5
  
  $ rpm -qa python-setuptools
  python-setuptools-0.9.8-4.el7.noarch
  
  $ lsb_release -a
  ...
  Description:    CentOS Linux release 7.2.1511 (Core) 
  Release:    7.2.1511
  
  $ virtualenv venv
  ...
  
  $ venv/bin/pip install urllib3
  Downloading/unpacking urllib3
    Downloading urllib3-1.18.tar.gz (183kB): 183kB downloaded
    Running setup.py egg_info for package urllib3
      error in urllib3 setup command: Invalid environment marker: python_version <= "2.7"
      Complete output from command python setup.py egg_info:
      error in urllib3 setup command: Invalid environment marker: python_version <= "2.7"
  
  ----------------------------------------
  Cleaning up...
  Command python setup.py egg_info failed with error code 1 in /home/rene/src/venv/build/urllib3
  Storing complete log in /home/rene/.pip/pip.log
  ```
  
  Installing https://github.com/shazow/urllib3/commit/f620d997134708b09560ca5797aa79a59a2ef4c0  (commit before 9f5454eac808a105307b2d363c99ce97e5109821) works fine.
  
  ```
  $ venv/bin/pip install git+git://github.com/shazow/urllib3.git@f620d997134708b09560ca5797aa79a59a2ef4c0
  ...
  Successfully installed urllib3
  Cleaning up...
  ```
  
  But 9f5454eac808a105307b2d363c99ce97e5109821 fails.
  
  ```
  $ venv/bin/pip install git+git://github.com/shazow/urllib3.git@9f5454eac808a105307b2d363c99ce97e5109821
  Downloading/unpacking git+git://github.com/shazow/urllib3.git@9f5454eac808a105307b2d363c99ce97e5109821
    Cloning git://github.com/shazow/urllib3.git (to 9f5454eac808a105307b2d363c99ce97e5109821) to /tmp/pip-lnVDAG-build
    Could not find a tag or branch '9f5454eac808a105307b2d363c99ce97e5109821', assuming commit.
    Running setup.py egg_info for package from git+git://github.com/shazow/urllib3.git@9f5454eac808a105307b2d363c99ce97e5109821
      error in urllib3 setup command: Invalid environment marker: python_version < "3.3"
      Complete output from command python setup.py egg_info:
      error in urllib3 setup command: Invalid environment marker: python_version < "3.3"
  
  ----------------------------------------
  Cleaning up...
  Command python setup.py egg_info failed with error code 1 in /tmp/pip-lnVDAG-build
  Storing complete log in /home/rene/.pip/pip.log
  ```
  
  urllib3 1.17 setup.py does not ship with < or <= markers so my workaround right now is to install urllib3==1.17.
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `setup.py`
  Content:
  ```
  1 #!/usr/bin/env python
  2 
  3 from setuptools import setup
  4 
  5 import os
  6 import re
  7 import codecs
  8 
  9 base_path = os.path.dirname(__file__)
  10 
  11 # Get the version (borrowed from SQLAlchemy)
  12 with open(os.path.join(base_path, 'urllib3', '__init__.py')) as fp:
  13     VERSION = re.compile(r".*__version__ = '(.*?)'",
  14                          re.S).match(fp.read()).group(1)
  15 
  16 with codecs.open('README.rst', encoding='utf-8') as fp:
  17     readme = fp.read()
  18 with codecs.open('CHANGES.rst', encoding='utf-8') as fp:
  19     changes = fp.read()
  20 version = VERSION
  21 
  22 setup(name='urllib3',
  23       version=version,
  24       description="HTTP library with thread-safe connection pooling, file post, and more.",
  25       long_description=u'\n\n'.join([readme, changes]),
  26       classifiers=[
  27           'Environment :: Web Environment',
  28           'Intended Audience :: Developers',
  29           'License :: OSI Approved :: MIT License',
  30           'Operating System :: OS Independent',
  31           'Programming Language :: Python',
  32           'Programming Language :: Python :: 2',
  33           'Programming Language :: Python :: 3',
  34           'Topic :: Internet :: WWW/HTTP',
  35           'Topic :: Software Development :: Libraries',
  36       ],
  37       keywords='urllib httplib threadsafe filepost http https ssl pooling',
  38       author='Andrey Petrov',
  39       author_email='andrey.petrov@shazow.net',
  40       url='https://urllib3.readthedocs.io/',
  41       license='MIT',
  42       packages=['urllib3',
  43                 'urllib3.packages', 'urllib3.packages.ssl_match_hostname',
  44                 'urllib3.packages.backports', 'urllib3.contrib',
  45                 'urllib3.util',
  46                 ],
  47       requires=[],
  48       tests_require=[
  49           # These are a less-specific subset of dev-requirements.txt, for the
  50           # convenience of distro package maintainers.
  51           'nose',
  52           'mock',
  53           'tornado',
  54       ],
  55       test_suite='test',
  56       extras_require={
  57           'secure': [
  58               'pyOpenSSL>=0.14',
  59               'cryptography>=1.3.4',
  60               'idna>=2.0.0',
  61               'certifi',
  62           ],
  63           'secure:python_version <= "2.7"': [
  64               "ipaddress",
  65           ],
  66           'socks': [
  67               'PySocks>=1.5.6,<2.0,!=1.5.7',
  68           ]
  69       },
  70       )
  71
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -59,8 +59,6 @@
                 'cryptography>=1.3.4',
                 'idna>=2.0.0',
                 'certifi',
  -          ],
  -          'secure:python_version <= "2.7"': [
                 "ipaddress",
             ],
             'socks': [
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -59,8 +59,6 @@\n               'cryptography>=1.3.4',\n               'idna>=2.0.0',\n               'certifi',\n-          ],\n-          'secure:python_version <= \"2.7\"': [\n               \"ipaddress\",\n           ],\n           'socks': [\n", "issue": "urllib3 fails to install on centos7 due to old setuptools not supporting <=, < environment markers.\nCurrent urllib3 fails to install on centos7. This bug was most likely introduced after https://github.com/shazow/urllib3/commit/9f5454eac808a105307b2d363c99ce97e5109821.\n\ncentos7 ships a very old version of setuptools (0.9.8) which does not support `<=` as an environment marker. See https://github.com/pypa/setuptools/issues/380.\n\n```\n$ python --version\nPython 2.7.5\n\n$ rpm -qa python-setuptools\npython-setuptools-0.9.8-4.el7.noarch\n\n$ lsb_release -a\n...\nDescription:    CentOS Linux release 7.2.1511 (Core) \nRelease:    7.2.1511\n\n$ virtualenv venv\n...\n\n$ venv/bin/pip install urllib3\nDownloading/unpacking urllib3\n  Downloading urllib3-1.18.tar.gz (183kB): 183kB downloaded\n  Running setup.py egg_info for package urllib3\n    error in urllib3 setup command: Invalid environment marker: python_version <= \"2.7\"\n    Complete output from command python setup.py egg_info:\n    error in urllib3 setup command: Invalid environment marker: python_version <= \"2.7\"\n\n----------------------------------------\nCleaning up...\nCommand python setup.py egg_info failed with error code 1 in /home/rene/src/venv/build/urllib3\nStoring complete log in /home/rene/.pip/pip.log\n```\n\nInstalling https://github.com/shazow/urllib3/commit/f620d997134708b09560ca5797aa79a59a2ef4c0  (commit before 9f5454eac808a105307b2d363c99ce97e5109821) works fine.\n\n```\n$ venv/bin/pip install git+git://github.com/shazow/urllib3.git@f620d997134708b09560ca5797aa79a59a2ef4c0\n...\nSuccessfully installed urllib3\nCleaning up...\n```\n\nBut 9f5454eac808a105307b2d363c99ce97e5109821 fails.\n\n```\n$ venv/bin/pip install git+git://github.com/shazow/urllib3.git@9f5454eac808a105307b2d363c99ce97e5109821\nDownloading/unpacking git+git://github.com/shazow/urllib3.git@9f5454eac808a105307b2d363c99ce97e5109821\n  Cloning git://github.com/shazow/urllib3.git (to 9f5454eac808a105307b2d363c99ce97e5109821) to /tmp/pip-lnVDAG-build\n  Could not find a tag or branch '9f5454eac808a105307b2d363c99ce97e5109821', assuming commit.\n  Running setup.py egg_info for package from git+git://github.com/shazow/urllib3.git@9f5454eac808a105307b2d363c99ce97e5109821\n    error in urllib3 setup command: Invalid environment marker: python_version < \"3.3\"\n    Complete output from command python setup.py egg_info:\n    error in urllib3 setup command: Invalid environment marker: python_version < \"3.3\"\n\n----------------------------------------\nCleaning up...\nCommand python setup.py egg_info failed with error code 1 in /tmp/pip-lnVDAG-build\nStoring complete log in /home/rene/.pip/pip.log\n```\n\nurllib3 1.17 setup.py does not ship with < or <= markers so my workaround right now is to install urllib3==1.17.\n\n", "before_files": [{"content": "#!/usr/bin/env python\n\nfrom setuptools import setup\n\nimport os\nimport re\nimport codecs\n\nbase_path = os.path.dirname(__file__)\n\n# Get the version (borrowed from SQLAlchemy)\nwith open(os.path.join(base_path, 'urllib3', '__init__.py')) as fp:\n    VERSION = re.compile(r\".*__version__ = '(.*?)'\",\n                         re.S).match(fp.read()).group(1)\n\nwith codecs.open('README.rst', encoding='utf-8') as fp:\n    readme = fp.read()\nwith codecs.open('CHANGES.rst', encoding='utf-8') as fp:\n    changes = fp.read()\nversion = VERSION\n\nsetup(name='urllib3',\n      version=version,\n      description=\"HTTP library with thread-safe connection pooling, file post, and more.\",\n      long_description=u'\\n\\n'.join([readme, changes]),\n      classifiers=[\n          'Environment :: Web Environment',\n          'Intended Audience :: Developers',\n          'License :: OSI Approved :: MIT License',\n          'Operating System :: OS Independent',\n          'Programming Language :: Python',\n          'Programming Language :: Python :: 2',\n          'Programming Language :: Python :: 3',\n          'Topic :: Internet :: WWW/HTTP',\n          'Topic :: Software Development :: Libraries',\n      ],\n      keywords='urllib httplib threadsafe filepost http https ssl pooling',\n      author='Andrey Petrov',\n      author_email='andrey.petrov@shazow.net',\n      url='https://urllib3.readthedocs.io/',\n      license='MIT',\n      packages=['urllib3',\n                'urllib3.packages', 'urllib3.packages.ssl_match_hostname',\n                'urllib3.packages.backports', 'urllib3.contrib',\n                'urllib3.util',\n                ],\n      requires=[],\n      tests_require=[\n          # These are a less-specific subset of dev-requirements.txt, for the\n          # convenience of distro package maintainers.\n          'nose',\n          'mock',\n          'tornado',\n      ],\n      test_suite='test',\n      extras_require={\n          'secure': [\n              'pyOpenSSL>=0.14',\n              'cryptography>=1.3.4',\n              'idna>=2.0.0',\n              'certifi',\n          ],\n          'secure:python_version <= \"2.7\"': [\n              \"ipaddress\",\n          ],\n          'socks': [\n              'PySocks>=1.5.6,<2.0,!=1.5.7',\n          ]\n      },\n      )\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\n\nfrom setuptools import setup\n\nimport os\nimport re\nimport codecs\n\nbase_path = os.path.dirname(__file__)\n\n# Get the version (borrowed from SQLAlchemy)\nwith open(os.path.join(base_path, 'urllib3', '__init__.py')) as fp:\n    VERSION = re.compile(r\".*__version__ = '(.*?)'\",\n                         re.S).match(fp.read()).group(1)\n\nwith codecs.open('README.rst', encoding='utf-8') as fp:\n    readme = fp.read()\nwith codecs.open('CHANGES.rst', encoding='utf-8') as fp:\n    changes = fp.read()\nversion = VERSION\n\nsetup(name='urllib3',\n      version=version,\n      description=\"HTTP library with thread-safe connection pooling, file post, and more.\",\n      long_description=u'\\n\\n'.join([readme, changes]),\n      classifiers=[\n          'Environment :: Web Environment',\n          'Intended Audience :: Developers',\n          'License :: OSI Approved :: MIT License',\n          'Operating System :: OS Independent',\n          'Programming Language :: Python',\n          'Programming Language :: Python :: 2',\n          'Programming Language :: Python :: 3',\n          'Topic :: Internet :: WWW/HTTP',\n          'Topic :: Software Development :: Libraries',\n      ],\n      keywords='urllib httplib threadsafe filepost http https ssl pooling',\n      author='Andrey Petrov',\n      author_email='andrey.petrov@shazow.net',\n      url='https://urllib3.readthedocs.io/',\n      license='MIT',\n      packages=['urllib3',\n                'urllib3.packages', 'urllib3.packages.ssl_match_hostname',\n                'urllib3.packages.backports', 'urllib3.contrib',\n                'urllib3.util',\n                ],\n      requires=[],\n      tests_require=[\n          # These are a less-specific subset of dev-requirements.txt, for the\n          # convenience of distro package maintainers.\n          'nose',\n          'mock',\n          'tornado',\n      ],\n      test_suite='test',\n      extras_require={\n          'secure': [\n              'pyOpenSSL>=0.14',\n              'cryptography>=1.3.4',\n              'idna>=2.0.0',\n              'certifi',\n              \"ipaddress\",\n          ],\n          'socks': [\n              'PySocks>=1.5.6,<2.0,!=1.5.7',\n          ]\n      },\n      )\n", "path": "setup.py"}]}