We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Cannot run tests on Ubuntu 14.04 LTS + Python 3
#### Repro Steps

```
# (Install Docker from: http://www.docker.com )

# If OS X, start with:
$ docker-machine start default; eval "$(docker-machine env default)"

# If OS X or Linux, continue with:
$ docker run -it ubuntu:trusty  # Ubuntu 14.04 LTS
$$ apt-get update
$$ apt-get install git -y
$$ apt-get install python3-pip -y
$$ pip3 install virtualenv
$$ git clone https://github.com/shazow/urllib3
$$ cd urllib3/
$$ virtualenv venv
$$ source venv/bin/activate
$$ make test
```
#### Output

```
python setup.py develop
Traceback (most recent call last):
  File "setup.py", line 23, in <module>
    long_description=open('README.rst').read() + '\n\n' + open('CHANGES.rst').read(),
  File "/urllib3/venv/lib/python3.4/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xf0 in position 4597: ordinal not in range(128)
make: *** [*.egg-info] Error 1
```
#### Notes

My best guess is that the `read()`s in setup.py should have an encoding specified. Probably UTF-8.


--- 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 
8 
9 base_path = os.path.dirname(__file__)
10 
11 # Get the version (borrowed from SQLAlchemy)
12 fp = open(os.path.join(base_path, 'urllib3', '__init__.py'))
13 VERSION = re.compile(r".*__version__ = '(.*?)'",
14                      re.S).match(fp.read()).group(1)
15 fp.close()
16 
17 
18 version = VERSION
19 
20 setup(name='urllib3',
21       version=version,
22       description="HTTP library with thread-safe connection pooling, file post, and more.",
23       long_description=open('README.rst').read() + '\n\n' + open('CHANGES.rst').read(),
24       classifiers=[
25           'Environment :: Web Environment',
26           'Intended Audience :: Developers',
27           'License :: OSI Approved :: MIT License',
28           'Operating System :: OS Independent',
29           'Programming Language :: Python',
30           'Programming Language :: Python :: 2',
31           'Programming Language :: Python :: 3',
32           'Topic :: Internet :: WWW/HTTP',
33           'Topic :: Software Development :: Libraries',
34       ],
35       keywords='urllib httplib threadsafe filepost http https ssl pooling',
36       author='Andrey Petrov',
37       author_email='andrey.petrov@shazow.net',
38       url='http://urllib3.readthedocs.org/',
39       license='MIT',
40       packages=['urllib3',
41                 'urllib3.packages', 'urllib3.packages.ssl_match_hostname',
42                 'urllib3.contrib', 'urllib3.util',
43                 ],
44       requires=[],
45       tests_require=[
46           # These are a less-specific subset of dev-requirements.txt, for the
47           # convenience of distro package maintainers.
48           'nose',
49           'mock',
50           'tornado',
51       ],
52       test_suite='test',
53       extras_require={
54           'secure': [
55               'pyOpenSSL>=0.13',
56               'ndg-httpsclient',
57               'pyasn1',
58               'certifi',
59           ],
60           'socks': [
61               'PySocks>=1.5.6,<2.0',
62           ]
63       },
64       )
65
```
--- 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
@@ -4,7 +4,7 @@
 
 import os
 import re
-
+import codecs
 
 base_path = os.path.dirname(__file__)
 
@@ -14,13 +14,14 @@
                      re.S).match(fp.read()).group(1)
 fp.close()
 
-
+readme = codecs.open('README.rst', encoding='utf-8').read()
+changes = codecs.open('README.rst', encoding='utf-8').read()
 version = VERSION
 
 setup(name='urllib3',
       version=version,
       description="HTTP library with thread-safe connection pooling, file post, and more.",
-      long_description=open('README.rst').read() + '\n\n' + open('CHANGES.rst').read(),
+      long_description=u'\n\n'.join([readme, changes]),
       classifiers=[
           'Environment :: Web Environment',
           'Intended Audience :: Developers',

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -4,7 +4,7 @@\n \n import os\n import re\n-\n+import codecs\n \n base_path = os.path.dirname(__file__)\n \n@@ -14,13 +14,14 @@\n                      re.S).match(fp.read()).group(1)\n fp.close()\n \n-\n+readme = codecs.open('README.rst', encoding='utf-8').read()\n+changes = codecs.open('README.rst', encoding='utf-8').read()\n version = VERSION\n \n setup(name='urllib3',\n       version=version,\n       description=\"HTTP library with thread-safe connection pooling, file post, and more.\",\n-      long_description=open('README.rst').read() + '\\n\\n' + open('CHANGES.rst').read(),\n+      long_description=u'\\n\\n'.join([readme, changes]),\n       classifiers=[\n           'Environment :: Web Environment',\n           'Intended Audience :: Developers',\n", "issue": "Cannot run tests on Ubuntu 14.04 LTS + Python 3\n#### Repro Steps\n\n```\n# (Install Docker from: http://www.docker.com )\n\n# If OS X, start with:\n$ docker-machine start default; eval \"$(docker-machine env default)\"\n\n# If OS X or Linux, continue with:\n$ docker run -it ubuntu:trusty  # Ubuntu 14.04 LTS\n$$ apt-get update\n$$ apt-get install git -y\n$$ apt-get install python3-pip -y\n$$ pip3 install virtualenv\n$$ git clone https://github.com/shazow/urllib3\n$$ cd urllib3/\n$$ virtualenv venv\n$$ source venv/bin/activate\n$$ make test\n```\n#### Output\n\n```\npython setup.py develop\nTraceback (most recent call last):\n  File \"setup.py\", line 23, in <module>\n    long_description=open('README.rst').read() + '\\n\\n' + open('CHANGES.rst').read(),\n  File \"/urllib3/venv/lib/python3.4/encodings/ascii.py\", line 26, in decode\n    return codecs.ascii_decode(input, self.errors)[0]\nUnicodeDecodeError: 'ascii' codec can't decode byte 0xf0 in position 4597: ordinal not in range(128)\nmake: *** [*.egg-info] Error 1\n```\n#### Notes\n\nMy best guess is that the `read()`s in setup.py should have an encoding specified. Probably UTF-8.\n\n", "before_files": [{"content": "#!/usr/bin/env python\n\nfrom setuptools import setup\n\nimport os\nimport re\n\n\nbase_path = os.path.dirname(__file__)\n\n# Get the version (borrowed from SQLAlchemy)\nfp = open(os.path.join(base_path, 'urllib3', '__init__.py'))\nVERSION = re.compile(r\".*__version__ = '(.*?)'\",\n                     re.S).match(fp.read()).group(1)\nfp.close()\n\n\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=open('README.rst').read() + '\\n\\n' + open('CHANGES.rst').read(),\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='http://urllib3.readthedocs.org/',\n      license='MIT',\n      packages=['urllib3',\n                'urllib3.packages', 'urllib3.packages.ssl_match_hostname',\n                'urllib3.contrib', '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.13',\n              'ndg-httpsclient',\n              'pyasn1',\n              'certifi',\n          ],\n          'socks': [\n              'PySocks>=1.5.6,<2.0',\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)\nfp = open(os.path.join(base_path, 'urllib3', '__init__.py'))\nVERSION = re.compile(r\".*__version__ = '(.*?)'\",\n                     re.S).match(fp.read()).group(1)\nfp.close()\n\nreadme = codecs.open('README.rst', encoding='utf-8').read()\nchanges = codecs.open('README.rst', encoding='utf-8').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='http://urllib3.readthedocs.org/',\n      license='MIT',\n      packages=['urllib3',\n                'urllib3.packages', 'urllib3.packages.ssl_match_hostname',\n                'urllib3.contrib', '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.13',\n              'ndg-httpsclient',\n              'pyasn1',\n              'certifi',\n          ],\n          'socks': [\n              'PySocks>=1.5.6,<2.0',\n          ]\n      },\n      )\n", "path": "setup.py"}]}