prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Release 1.4.7
  docket of user-facing issues fixed:
  + #550: Pex 1.4.6 builds a failing pex
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `pex/version.py`
  Content:
  ```
  1 # Copyright 2015 Pants project contributors (see CONTRIBUTORS.md).
  2 # Licensed under the Apache License, Version 2.0 (see LICENSE).
  3 
  4 __version__ = '1.4.6'
  5 
  6 # Versions 34.0.0 through 35.0.2 (last pre-36.0.0) de-vendored dependencies which causes problems
  7 # for pex code so we exclude that range.
  8 SETUPTOOLS_REQUIREMENT = 'setuptools>=20.3,<41,!=34.*,!=35.*'
  9 
  10 WHEEL_REQUIREMENT = 'wheel>=0.26.0,<0.32'
  11
  ```
  
  Path: `setup.py`
  Content:
  ```
  1 # Copyright 2014 Pants project contributors (see CONTRIBUTORS.md).
  2 # Licensed under the Apache License, Version 2.0 (see LICENSE).
  3 
  4 import os
  5 
  6 from setuptools import setup
  7 
  8 with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as fp:
  9   LONG_DESCRIPTION = fp.read() + '\n'
  10 
  11 with open(os.path.join(os.path.dirname(__file__), 'CHANGES.rst')) as fp:
  12   LONG_DESCRIPTION += fp.read()
  13 
  14 
  15 # This seems to be a fairly standard version file pattern.
  16 #
  17 # Populates the following variables:
  18 #   __version__
  19 #   __setuptools_requirement
  20 #   __wheel_requirement
  21 __version__ = ''
  22 version_py_file = os.path.join(os.path.dirname(__file__), 'pex', 'version.py')
  23 with open(version_py_file) as version_py:
  24   exec(compile(version_py.read(), version_py_file, 'exec'))
  25 
  26 
  27 setup(
  28   name = 'pex',
  29   version = __version__,
  30   description = "The PEX packaging toolchain.",
  31   long_description = LONG_DESCRIPTION,
  32   url = 'https://github.com/pantsbuild/pex',
  33   license = 'Apache License, Version 2.0',
  34   zip_safe = True,
  35   classifiers = [
  36     'Intended Audience :: Developers',
  37     'License :: OSI Approved :: Apache Software License',
  38     'Operating System :: Unix',
  39     'Operating System :: POSIX :: Linux',
  40     'Operating System :: MacOS :: MacOS X',
  41     'Programming Language :: Python',
  42     'Programming Language :: Python :: 2',
  43     'Programming Language :: Python :: 2.7',
  44     'Programming Language :: Python :: 3',
  45     'Programming Language :: Python :: 3.3',
  46     'Programming Language :: Python :: 3.4',
  47     'Programming Language :: Python :: 3.5',
  48     'Programming Language :: Python :: 3.6',
  49   ],
  50   packages = [
  51     'pex',
  52     'pex.bin',
  53     'pex.commands',
  54   ],
  55   install_requires = [
  56     SETUPTOOLS_REQUIREMENT,
  57     WHEEL_REQUIREMENT,
  58   ],
  59   extras_require={
  60     # For improved subprocess robustness under python2.7.
  61     'subprocess': ['subprocess32>=3.2.7'],
  62     # For improved requirement resolution and fetching robustness.
  63     'requests': ['requests>=2.8.14'],
  64     # For improved requirement resolution and fetching performance.
  65     'cachecontrol': ['CacheControl>=0.12.3'],
  66   },
  67   tests_require = [
  68     'mock',
  69     'twitter.common.contextutil>=0.3.1,<0.4.0',
  70     'twitter.common.lang>=0.3.1,<0.4.0',
  71     'twitter.common.testing>=0.3.1,<0.4.0',
  72     'twitter.common.dirutil>=0.3.1,<0.4.0',
  73     'pytest',
  74   ],
  75   entry_points = {
  76     'distutils.commands': [
  77       'bdist_pex = pex.commands.bdist_pex:bdist_pex',
  78     ],
  79     'console_scripts': [
  80       'pex = pex.bin.pex:main',
  81     ],
  82   },
  83 )
  84
  ```
  --- 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/pex/version.py b/pex/version.py
  --- a/pex/version.py
  +++ b/pex/version.py
  @@ -1,7 +1,7 @@
   # Copyright 2015 Pants project contributors (see CONTRIBUTORS.md).
   # Licensed under the Apache License, Version 2.0 (see LICENSE).
   
  -__version__ = '1.4.6'
  +__version__ = '1.4.7'
   
   # Versions 34.0.0 through 35.0.2 (last pre-36.0.0) de-vendored dependencies which causes problems
   # for pex code so we exclude that range.
  diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -29,6 +29,7 @@
     version = __version__,
     description = "The PEX packaging toolchain.",
     long_description = LONG_DESCRIPTION,
  +  long_description_content_type="text/x-rst",
     url = 'https://github.com/pantsbuild/pex',
     license = 'Apache License, Version 2.0',
     zip_safe = True,
  
verification_info: {"golden_diff": "diff --git a/pex/version.py b/pex/version.py\n--- a/pex/version.py\n+++ b/pex/version.py\n@@ -1,7 +1,7 @@\n # Copyright 2015 Pants project contributors (see CONTRIBUTORS.md).\n # Licensed under the Apache License, Version 2.0 (see LICENSE).\n \n-__version__ = '1.4.6'\n+__version__ = '1.4.7'\n \n # Versions 34.0.0 through 35.0.2 (last pre-36.0.0) de-vendored dependencies which causes problems\n # for pex code so we exclude that range.\ndiff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -29,6 +29,7 @@\n   version = __version__,\n   description = \"The PEX packaging toolchain.\",\n   long_description = LONG_DESCRIPTION,\n+  long_description_content_type=\"text/x-rst\",\n   url = 'https://github.com/pantsbuild/pex',\n   license = 'Apache License, Version 2.0',\n   zip_safe = True,\n", "issue": "Release 1.4.7\ndocket of user-facing issues fixed:\r\n+ #550: Pex 1.4.6 builds a failing pex\n", "before_files": [{"content": "# Copyright 2015 Pants project contributors (see CONTRIBUTORS.md).\n# Licensed under the Apache License, Version 2.0 (see LICENSE).\n\n__version__ = '1.4.6'\n\n# Versions 34.0.0 through 35.0.2 (last pre-36.0.0) de-vendored dependencies which causes problems\n# for pex code so we exclude that range.\nSETUPTOOLS_REQUIREMENT = 'setuptools>=20.3,<41,!=34.*,!=35.*'\n\nWHEEL_REQUIREMENT = 'wheel>=0.26.0,<0.32'\n", "path": "pex/version.py"}, {"content": "# Copyright 2014 Pants project contributors (see CONTRIBUTORS.md).\n# Licensed under the Apache License, Version 2.0 (see LICENSE).\n\nimport os\n\nfrom setuptools import setup\n\nwith open(os.path.join(os.path.dirname(__file__), 'README.rst')) as fp:\n  LONG_DESCRIPTION = fp.read() + '\\n'\n\nwith open(os.path.join(os.path.dirname(__file__), 'CHANGES.rst')) as fp:\n  LONG_DESCRIPTION += fp.read()\n\n\n# This seems to be a fairly standard version file pattern.\n#\n# Populates the following variables:\n#   __version__\n#   __setuptools_requirement\n#   __wheel_requirement\n__version__ = ''\nversion_py_file = os.path.join(os.path.dirname(__file__), 'pex', 'version.py')\nwith open(version_py_file) as version_py:\n  exec(compile(version_py.read(), version_py_file, 'exec'))\n\n\nsetup(\n  name = 'pex',\n  version = __version__,\n  description = \"The PEX packaging toolchain.\",\n  long_description = LONG_DESCRIPTION,\n  url = 'https://github.com/pantsbuild/pex',\n  license = 'Apache License, Version 2.0',\n  zip_safe = True,\n  classifiers = [\n    'Intended Audience :: Developers',\n    'License :: OSI Approved :: Apache Software License',\n    'Operating System :: Unix',\n    'Operating System :: POSIX :: Linux',\n    'Operating System :: MacOS :: MacOS X',\n    'Programming Language :: Python',\n    'Programming Language :: Python :: 2',\n    'Programming Language :: Python :: 2.7',\n    'Programming Language :: Python :: 3',\n    'Programming Language :: Python :: 3.3',\n    'Programming Language :: Python :: 3.4',\n    'Programming Language :: Python :: 3.5',\n    'Programming Language :: Python :: 3.6',\n  ],\n  packages = [\n    'pex',\n    'pex.bin',\n    'pex.commands',\n  ],\n  install_requires = [\n    SETUPTOOLS_REQUIREMENT,\n    WHEEL_REQUIREMENT,\n  ],\n  extras_require={\n    # For improved subprocess robustness under python2.7.\n    'subprocess': ['subprocess32>=3.2.7'],\n    # For improved requirement resolution and fetching robustness.\n    'requests': ['requests>=2.8.14'],\n    # For improved requirement resolution and fetching performance.\n    'cachecontrol': ['CacheControl>=0.12.3'],\n  },\n  tests_require = [\n    'mock',\n    'twitter.common.contextutil>=0.3.1,<0.4.0',\n    'twitter.common.lang>=0.3.1,<0.4.0',\n    'twitter.common.testing>=0.3.1,<0.4.0',\n    'twitter.common.dirutil>=0.3.1,<0.4.0',\n    'pytest',\n  ],\n  entry_points = {\n    'distutils.commands': [\n      'bdist_pex = pex.commands.bdist_pex:bdist_pex',\n    ],\n    'console_scripts': [\n      'pex = pex.bin.pex:main',\n    ],\n  },\n)\n", "path": "setup.py"}], "after_files": [{"content": "# Copyright 2015 Pants project contributors (see CONTRIBUTORS.md).\n# Licensed under the Apache License, Version 2.0 (see LICENSE).\n\n__version__ = '1.4.7'\n\n# Versions 34.0.0 through 35.0.2 (last pre-36.0.0) de-vendored dependencies which causes problems\n# for pex code so we exclude that range.\nSETUPTOOLS_REQUIREMENT = 'setuptools>=20.3,<41,!=34.*,!=35.*'\n\nWHEEL_REQUIREMENT = 'wheel>=0.26.0,<0.32'\n", "path": "pex/version.py"}, {"content": "# Copyright 2014 Pants project contributors (see CONTRIBUTORS.md).\n# Licensed under the Apache License, Version 2.0 (see LICENSE).\n\nimport os\n\nfrom setuptools import setup\n\nwith open(os.path.join(os.path.dirname(__file__), 'README.rst')) as fp:\n  LONG_DESCRIPTION = fp.read() + '\\n'\n\nwith open(os.path.join(os.path.dirname(__file__), 'CHANGES.rst')) as fp:\n  LONG_DESCRIPTION += fp.read()\n\n\n# This seems to be a fairly standard version file pattern.\n#\n# Populates the following variables:\n#   __version__\n#   __setuptools_requirement\n#   __wheel_requirement\n__version__ = ''\nversion_py_file = os.path.join(os.path.dirname(__file__), 'pex', 'version.py')\nwith open(version_py_file) as version_py:\n  exec(compile(version_py.read(), version_py_file, 'exec'))\n\n\nsetup(\n  name = 'pex',\n  version = __version__,\n  description = \"The PEX packaging toolchain.\",\n  long_description = LONG_DESCRIPTION,\n  long_description_content_type=\"text/x-rst\",\n  url = 'https://github.com/pantsbuild/pex',\n  license = 'Apache License, Version 2.0',\n  zip_safe = True,\n  classifiers = [\n    'Intended Audience :: Developers',\n    'License :: OSI Approved :: Apache Software License',\n    'Operating System :: Unix',\n    'Operating System :: POSIX :: Linux',\n    'Operating System :: MacOS :: MacOS X',\n    'Programming Language :: Python',\n    'Programming Language :: Python :: 2',\n    'Programming Language :: Python :: 2.7',\n    'Programming Language :: Python :: 3',\n    'Programming Language :: Python :: 3.3',\n    'Programming Language :: Python :: 3.4',\n    'Programming Language :: Python :: 3.5',\n    'Programming Language :: Python :: 3.6',\n  ],\n  packages = [\n    'pex',\n    'pex.bin',\n    'pex.commands',\n  ],\n  install_requires = [\n    SETUPTOOLS_REQUIREMENT,\n    WHEEL_REQUIREMENT,\n  ],\n  extras_require={\n    # For improved subprocess robustness under python2.7.\n    'subprocess': ['subprocess32>=3.2.7'],\n    # For improved requirement resolution and fetching robustness.\n    'requests': ['requests>=2.8.14'],\n    # For improved requirement resolution and fetching performance.\n    'cachecontrol': ['CacheControl>=0.12.3'],\n  },\n  tests_require = [\n    'mock',\n    'twitter.common.contextutil>=0.3.1,<0.4.0',\n    'twitter.common.lang>=0.3.1,<0.4.0',\n    'twitter.common.testing>=0.3.1,<0.4.0',\n    'twitter.common.dirutil>=0.3.1,<0.4.0',\n    'pytest',\n  ],\n  entry_points = {\n    'distutils.commands': [\n      'bdist_pex = pex.commands.bdist_pex:bdist_pex',\n    ],\n    'console_scripts': [\n      'pex = pex.bin.pex:main',\n    ],\n  },\n)\n", "path": "setup.py"}]}