We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
cloudpickle v1.5.0 breaks testing
# Description

With the release of [`cloudpickle` `v1.5.0`](https://pypi.org/project/cloudpickle/1.5.0/) on 2020-07-01 the CI is broken in testing as the following error is raised

```pytb
ImportError while loading conftest '/home/runner/work/pyhf/pyhf/tests/conftest.py'.
tests/conftest.py:83: in <module>
    (pyhf.tensor.tensorflow_backend(), None),
src/pyhf/tensor/__init__.py:44: in __getattr__
    e,
E   pyhf.exceptions.ImportBackendError: ('There was a problem importing TensorFlow. The tensorflow backend cannot be used.', ImportError("cannot import name 'CloudPickler' from 'cloudpickle.cloudpickle' (/opt/hostedtoolcache/Python/3.7.7/x64/lib/python3.7/site-packages/cloudpickle/cloudpickle.py)"))
##[error]Process completed with exit code 4.
```

`cloudpickle` is a required dependency of TensorFlow Probability and in TFP `v0.10.0` it is set to [`cloudpickle >= 1.2.2`](https://github.com/tensorflow/probability/blob/f051e03dd3cc847d31061803c2b31c564562a993/setup.py#L34).

This has been reported in:
- [TensorFlow Probability Issue 991](https://github.com/tensorflow/probability/issues/991)
- [`cloudpickle` Issue 390](https://github.com/cloudpipe/cloudpickle/issues/390)

# Expected Behavior

For no error to be raised

# Actual Behavior

c.f. above

# Steps to Reproduce

This was found in CI, but the minimal test case is just to install TensorFlow and TensorFlow Probability and then try to import TFP:

```
$ python -m pip install tensorflow tensorflow-probability
$ python -c "import tensorflow_probability"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/tensorflow_probability/__init__.py", line 76, in <module>
    from tensorflow_probability.python import *  # pylint: disable=wildcard-import
  File "/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/tensorflow_probability/python/__init__.py", line 23, in <module>
    from tensorflow_probability.python import distributions
  File "/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/tensorflow_probability/python/distributions/__init__.py", line 88, in <module>
    from tensorflow_probability.python.distributions.pixel_cnn import PixelCNN
  File "/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/tensorflow_probability/python/distributions/pixel_cnn.py", line 37, in <module>
    from tensorflow_probability.python.layers import weight_norm
  File "/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/tensorflow_probability/python/layers/__init__.py", line 31, in <module>
    from tensorflow_probability.python.layers.distribution_layer import CategoricalMixtureOfOneHotCategorical
  File "/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/tensorflow_probability/python/layers/distribution_layer.py", line 28, in <module>
    from cloudpickle.cloudpickle import CloudPickler
ImportError: cannot import name 'CloudPickler' from 'cloudpickle.cloudpickle' (/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/cloudpickle/cloudpickle.py)
$ pip list | grep cloudpickle
cloudpickle            1.5.0
```

# Checklist

- [x] Run `git fetch` to get the most up to date version of `master`
- [x] Searched through existing Issues to confirm this is not a duplicate issue
- [x] Filled out the Description, Expected Behavior, Actual Behavior, and Steps to Reproduce sections above or have edited/removed them in a way that fully describes the issue


--- 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 from setuptools import setup
2 
3 extras_require = {
4     'tensorflow': ['tensorflow~=2.0', 'tensorflow-probability~=0.8'],
5     'torch': ['torch~=1.2'],
6     'jax': ['jax~=0.1,>0.1.51', 'jaxlib~=0.1,>0.1.33'],
7     'xmlio': ['uproot'],
8     'minuit': ['iminuit'],
9 }
10 extras_require['backends'] = sorted(
11     set(
12         extras_require['tensorflow']
13         + extras_require['torch']
14         + extras_require['jax']
15         + extras_require['minuit']
16     )
17 )
18 extras_require['contrib'] = sorted(set(['matplotlib']))
19 extras_require['lint'] = sorted(set(['pyflakes', 'black']))
20 
21 extras_require['test'] = sorted(
22     set(
23         extras_require['backends']
24         + extras_require['xmlio']
25         + extras_require['contrib']
26         + [
27             'pytest~=3.5',
28             'pytest-cov>=2.5.1',
29             'pytest-mock',
30             'pytest-benchmark[histogram]',
31             'pytest-console-scripts',
32             'pytest-mpl',
33             'pydocstyle',
34             'coverage>=4.0',  # coveralls
35             'papermill~=2.0',
36             'nteract-scrapbook~=0.2',
37             'jupyter',
38             'uproot~=3.3',
39             'graphviz',
40             'jsonpatch',
41         ]
42     )
43 )
44 extras_require['docs'] = sorted(
45     set(
46         [
47             'sphinx~=3.0.0',  # Sphinx v3.1.X regressions break docs
48             'sphinxcontrib-bibtex',
49             'sphinx-click',
50             'sphinx_rtd_theme',
51             'nbsphinx',
52             'ipywidgets',
53             'sphinx-issues',
54             'sphinx-copybutton>0.2.9',
55         ]
56     )
57 )
58 extras_require['develop'] = sorted(
59     set(
60         extras_require['docs']
61         + extras_require['lint']
62         + extras_require['test']
63         + ['nbdime', 'bumpversion', 'ipython', 'pre-commit', 'check-manifest', 'twine']
64     )
65 )
66 extras_require['complete'] = sorted(set(sum(extras_require.values(), [])))
67 
68 
69 setup(
70     extras_require=extras_require,
71     use_scm_version=lambda: {'local_scheme': lambda version: ''},
72 )
73
```
--- 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()

```

diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,11 @@
 from setuptools import setup
 
 extras_require = {
-    'tensorflow': ['tensorflow~=2.0', 'tensorflow-probability~=0.8'],
+    'tensorflow': [
+        'tensorflow~=2.0',
+        'tensorflow-probability~=0.8',
+        'cloudpickle!=1.5.0',  # TODO: Temp patch until tfp v0.11
+    ],
     'torch': ['torch~=1.2'],
     'jax': ['jax~=0.1,>0.1.51', 'jaxlib~=0.1,>0.1.33'],
     'xmlio': ['uproot'],

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -1,7 +1,11 @@\n from setuptools import setup\n \n extras_require = {\n-    'tensorflow': ['tensorflow~=2.0', 'tensorflow-probability~=0.8'],\n+    'tensorflow': [\n+        'tensorflow~=2.0',\n+        'tensorflow-probability~=0.8',\n+        'cloudpickle!=1.5.0',  # TODO: Temp patch until tfp v0.11\n+    ],\n     'torch': ['torch~=1.2'],\n     'jax': ['jax~=0.1,>0.1.51', 'jaxlib~=0.1,>0.1.33'],\n     'xmlio': ['uproot'],\n", "issue": "cloudpickle v1.5.0 breaks testing\n# Description\r\n\r\nWith the release of [`cloudpickle` `v1.5.0`](https://pypi.org/project/cloudpickle/1.5.0/) on 2020-07-01 the CI is broken in testing as the following error is raised\r\n\r\n```pytb\r\nImportError while loading conftest '/home/runner/work/pyhf/pyhf/tests/conftest.py'.\r\ntests/conftest.py:83: in <module>\r\n    (pyhf.tensor.tensorflow_backend(), None),\r\nsrc/pyhf/tensor/__init__.py:44: in __getattr__\r\n    e,\r\nE   pyhf.exceptions.ImportBackendError: ('There was a problem importing TensorFlow. The tensorflow backend cannot be used.', ImportError(\"cannot import name 'CloudPickler' from 'cloudpickle.cloudpickle' (/opt/hostedtoolcache/Python/3.7.7/x64/lib/python3.7/site-packages/cloudpickle/cloudpickle.py)\"))\r\n##[error]Process completed with exit code 4.\r\n```\r\n\r\n`cloudpickle` is a required dependency of TensorFlow Probability and in TFP `v0.10.0` it is set to [`cloudpickle >= 1.2.2`](https://github.com/tensorflow/probability/blob/f051e03dd3cc847d31061803c2b31c564562a993/setup.py#L34).\r\n\r\nThis has been reported in:\r\n- [TensorFlow Probability Issue 991](https://github.com/tensorflow/probability/issues/991)\r\n- [`cloudpickle` Issue 390](https://github.com/cloudpipe/cloudpickle/issues/390)\r\n\r\n# Expected Behavior\r\n\r\nFor no error to be raised\r\n\r\n# Actual Behavior\r\n\r\nc.f. above\r\n\r\n# Steps to Reproduce\r\n\r\nThis was found in CI, but the minimal test case is just to install TensorFlow and TensorFlow Probability and then try to import TFP:\r\n\r\n```\r\n$ python -m pip install tensorflow tensorflow-probability\r\n$ python -c \"import tensorflow_probability\"\r\nTraceback (most recent call last):\r\n  File \"<string>\", line 1, in <module>\r\n  File \"/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/tensorflow_probability/__init__.py\", line 76, in <module>\r\n    from tensorflow_probability.python import *  # pylint: disable=wildcard-import\r\n  File \"/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/tensorflow_probability/python/__init__.py\", line 23, in <module>\r\n    from tensorflow_probability.python import distributions\r\n  File \"/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/tensorflow_probability/python/distributions/__init__.py\", line 88, in <module>\r\n    from tensorflow_probability.python.distributions.pixel_cnn import PixelCNN\r\n  File \"/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/tensorflow_probability/python/distributions/pixel_cnn.py\", line 37, in <module>\r\n    from tensorflow_probability.python.layers import weight_norm\r\n  File \"/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/tensorflow_probability/python/layers/__init__.py\", line 31, in <module>\r\n    from tensorflow_probability.python.layers.distribution_layer import CategoricalMixtureOfOneHotCategorical\r\n  File \"/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/tensorflow_probability/python/layers/distribution_layer.py\", line 28, in <module>\r\n    from cloudpickle.cloudpickle import CloudPickler\r\nImportError: cannot import name 'CloudPickler' from 'cloudpickle.cloudpickle' (/home/feickert/.venvs/debug-this/lib/python3.7/site-packages/cloudpickle/cloudpickle.py)\r\n$ pip list | grep cloudpickle\r\ncloudpickle            1.5.0\r\n```\r\n\r\n# Checklist\r\n\r\n- [x] Run `git fetch` to get the most up to date version of `master`\r\n- [x] Searched through existing Issues to confirm this is not a duplicate issue\r\n- [x] Filled out the Description, Expected Behavior, Actual Behavior, and Steps to Reproduce sections above or have edited/removed them in a way that fully describes the issue\r\n\n", "before_files": [{"content": "from setuptools import setup\n\nextras_require = {\n    'tensorflow': ['tensorflow~=2.0', 'tensorflow-probability~=0.8'],\n    'torch': ['torch~=1.2'],\n    'jax': ['jax~=0.1,>0.1.51', 'jaxlib~=0.1,>0.1.33'],\n    'xmlio': ['uproot'],\n    'minuit': ['iminuit'],\n}\nextras_require['backends'] = sorted(\n    set(\n        extras_require['tensorflow']\n        + extras_require['torch']\n        + extras_require['jax']\n        + extras_require['minuit']\n    )\n)\nextras_require['contrib'] = sorted(set(['matplotlib']))\nextras_require['lint'] = sorted(set(['pyflakes', 'black']))\n\nextras_require['test'] = sorted(\n    set(\n        extras_require['backends']\n        + extras_require['xmlio']\n        + extras_require['contrib']\n        + [\n            'pytest~=3.5',\n            'pytest-cov>=2.5.1',\n            'pytest-mock',\n            'pytest-benchmark[histogram]',\n            'pytest-console-scripts',\n            'pytest-mpl',\n            'pydocstyle',\n            'coverage>=4.0',  # coveralls\n            'papermill~=2.0',\n            'nteract-scrapbook~=0.2',\n            'jupyter',\n            'uproot~=3.3',\n            'graphviz',\n            'jsonpatch',\n        ]\n    )\n)\nextras_require['docs'] = sorted(\n    set(\n        [\n            'sphinx~=3.0.0',  # Sphinx v3.1.X regressions break docs\n            'sphinxcontrib-bibtex',\n            'sphinx-click',\n            'sphinx_rtd_theme',\n            'nbsphinx',\n            'ipywidgets',\n            'sphinx-issues',\n            'sphinx-copybutton>0.2.9',\n        ]\n    )\n)\nextras_require['develop'] = sorted(\n    set(\n        extras_require['docs']\n        + extras_require['lint']\n        + extras_require['test']\n        + ['nbdime', 'bumpversion', 'ipython', 'pre-commit', 'check-manifest', 'twine']\n    )\n)\nextras_require['complete'] = sorted(set(sum(extras_require.values(), [])))\n\n\nsetup(\n    extras_require=extras_require,\n    use_scm_version=lambda: {'local_scheme': lambda version: ''},\n)\n", "path": "setup.py"}], "after_files": [{"content": "from setuptools import setup\n\nextras_require = {\n    'tensorflow': [\n        'tensorflow~=2.0',\n        'tensorflow-probability~=0.8',\n        'cloudpickle!=1.5.0',  # TODO: Temp patch until tfp v0.11\n    ],\n    'torch': ['torch~=1.2'],\n    'jax': ['jax~=0.1,>0.1.51', 'jaxlib~=0.1,>0.1.33'],\n    'xmlio': ['uproot'],\n    'minuit': ['iminuit'],\n}\nextras_require['backends'] = sorted(\n    set(\n        extras_require['tensorflow']\n        + extras_require['torch']\n        + extras_require['jax']\n        + extras_require['minuit']\n    )\n)\nextras_require['contrib'] = sorted(set(['matplotlib']))\nextras_require['lint'] = sorted(set(['pyflakes', 'black']))\n\nextras_require['test'] = sorted(\n    set(\n        extras_require['backends']\n        + extras_require['xmlio']\n        + extras_require['contrib']\n        + [\n            'pytest~=3.5',\n            'pytest-cov>=2.5.1',\n            'pytest-mock',\n            'pytest-benchmark[histogram]',\n            'pytest-console-scripts',\n            'pytest-mpl',\n            'pydocstyle',\n            'coverage>=4.0',  # coveralls\n            'papermill~=2.0',\n            'nteract-scrapbook~=0.2',\n            'jupyter',\n            'uproot~=3.3',\n            'graphviz',\n            'jsonpatch',\n        ]\n    )\n)\nextras_require['docs'] = sorted(\n    set(\n        [\n            'sphinx~=3.0.0',  # Sphinx v3.1.X regressions break docs\n            'sphinxcontrib-bibtex',\n            'sphinx-click',\n            'sphinx_rtd_theme',\n            'nbsphinx',\n            'ipywidgets',\n            'sphinx-issues',\n            'sphinx-copybutton>0.2.9',\n        ]\n    )\n)\nextras_require['develop'] = sorted(\n    set(\n        extras_require['docs']\n        + extras_require['lint']\n        + extras_require['test']\n        + ['nbdime', 'bumpversion', 'ipython', 'pre-commit', 'check-manifest', 'twine']\n    )\n)\nextras_require['complete'] = sorted(set(sum(extras_require.values(), [])))\n\n\nsetup(\n    extras_require=extras_require,\n    use_scm_version=lambda: {'local_scheme': lambda version: ''},\n)\n", "path": "setup.py"}]}