We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Drop distutils support
I feel it's about time to drop **distutils** support as we rely on [extras_require of setuptools](https://pythonhosted.org/setuptools/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies) to handle **yaml** dependencies..

What's your opinion on this matter?


--- 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 import os
4 import sys
5 
6 try:
7     from setuptools import setup
8 except ImportError:
9     from distutils.core import setup
10 
11 version = "1.3.0"
12 
13 if sys.argv[-1] == 'publish':
14     os.system('python setup.py sdist upload')
15     os.system('python setup.py bdist_wheel upload')
16     sys.exit()
17 
18 if sys.argv[-1] == 'tag':
19     os.system("git tag -a %s -m 'version %s'" % (version, version))
20     os.system("git push --tags")
21     sys.exit()
22 
23 with open('README.rst') as readme_file:
24     readme = readme_file.read()
25 
26 with open('HISTORY.rst') as history_file:
27     history = history_file.read().replace('.. :changelog:', '')
28 
29 requirements = [
30     'future>=0.15.2',
31     'binaryornot>=0.2.0',
32     'jinja2>=2.7',
33     'click>=5.0',
34     'whichcraft>=0.1.1'
35 ]
36 
37 long_description = readme + '\n\n' + history
38 
39 if sys.argv[-1] == 'readme':
40     print(long_description)
41     sys.exit()
42 
43 
44 setup(
45     name='cookiecutter',
46     version=version,
47     description=('A command-line utility that creates projects from project '
48                  'templates, e.g. creating a Python package project from a '
49                  'Python package project template.'),
50     long_description=long_description,
51     author='Audrey Roy',
52     author_email='audreyr@gmail.com',
53     url='https://github.com/audreyr/cookiecutter',
54     packages=[
55         'cookiecutter',
56     ],
57     package_dir={'cookiecutter': 'cookiecutter'},
58     entry_points={
59         'console_scripts': [
60             'cookiecutter = cookiecutter.cli:main',
61         ]
62     },
63     include_package_data=True,
64     install_requires=requirements,
65     extras_require={
66         ':sys_platform=="win32" and python_version=="2.7"': [
67             'PyYAML>=3.10'
68         ],
69         ':sys_platform!="win32" or python_version!="2.7"': [
70             'ruamel.yaml>=0.10.12'
71         ]
72     },
73     license='BSD',
74     zip_safe=False,
75     classifiers=[
76         'Development Status :: 5 - Production/Stable',
77         'Environment :: Console',
78         'Intended Audience :: Developers',
79         'Natural Language :: English',
80         'License :: OSI Approved :: BSD License',
81         'Programming Language :: Python',
82         'Programming Language :: Python :: 2',
83         'Programming Language :: Python :: 2.7',
84         'Programming Language :: Python :: 3',
85         'Programming Language :: Python :: 3.3',
86         'Programming Language :: Python :: 3.4',
87         'Programming Language :: Python :: 3.5',
88         'Programming Language :: Python :: Implementation :: CPython',
89         'Programming Language :: Python :: Implementation :: PyPy',
90         'Topic :: Software Development',
91     ],
92     keywords=(
93         'cookiecutter, Python, projects, project templates, Jinja2, '
94         'skeleton, scaffolding, project directory, setup.py, package, '
95         'packaging'
96     ),
97 )
98
```
--- 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
@@ -3,10 +3,7 @@
 import os
 import sys
 
-try:
-    from setuptools import setup
-except ImportError:
-    from distutils.core import setup
+from setuptools import setup
 
 version = "1.3.0"

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -3,10 +3,7 @@\n import os\n import sys\n \n-try:\n-    from setuptools import setup\n-except ImportError:\n-    from distutils.core import setup\n+from setuptools import setup\n \n version = \"1.3.0\"\n", "issue": "Drop distutils support\nI feel it's about time to drop **distutils** support as we rely on [extras_require of setuptools](https://pythonhosted.org/setuptools/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies) to handle **yaml** dependencies..\n\nWhat's your opinion on this matter?\n\n", "before_files": [{"content": "#!/usr/bin/env python\n\nimport os\nimport sys\n\ntry:\n    from setuptools import setup\nexcept ImportError:\n    from distutils.core import setup\n\nversion = \"1.3.0\"\n\nif sys.argv[-1] == 'publish':\n    os.system('python setup.py sdist upload')\n    os.system('python setup.py bdist_wheel upload')\n    sys.exit()\n\nif sys.argv[-1] == 'tag':\n    os.system(\"git tag -a %s -m 'version %s'\" % (version, version))\n    os.system(\"git push --tags\")\n    sys.exit()\n\nwith open('README.rst') as readme_file:\n    readme = readme_file.read()\n\nwith open('HISTORY.rst') as history_file:\n    history = history_file.read().replace('.. :changelog:', '')\n\nrequirements = [\n    'future>=0.15.2',\n    'binaryornot>=0.2.0',\n    'jinja2>=2.7',\n    'click>=5.0',\n    'whichcraft>=0.1.1'\n]\n\nlong_description = readme + '\\n\\n' + history\n\nif sys.argv[-1] == 'readme':\n    print(long_description)\n    sys.exit()\n\n\nsetup(\n    name='cookiecutter',\n    version=version,\n    description=('A command-line utility that creates projects from project '\n                 'templates, e.g. creating a Python package project from a '\n                 'Python package project template.'),\n    long_description=long_description,\n    author='Audrey Roy',\n    author_email='audreyr@gmail.com',\n    url='https://github.com/audreyr/cookiecutter',\n    packages=[\n        'cookiecutter',\n    ],\n    package_dir={'cookiecutter': 'cookiecutter'},\n    entry_points={\n        'console_scripts': [\n            'cookiecutter = cookiecutter.cli:main',\n        ]\n    },\n    include_package_data=True,\n    install_requires=requirements,\n    extras_require={\n        ':sys_platform==\"win32\" and python_version==\"2.7\"': [\n            'PyYAML>=3.10'\n        ],\n        ':sys_platform!=\"win32\" or python_version!=\"2.7\"': [\n            'ruamel.yaml>=0.10.12'\n        ]\n    },\n    license='BSD',\n    zip_safe=False,\n    classifiers=[\n        'Development Status :: 5 - Production/Stable',\n        'Environment :: Console',\n        'Intended Audience :: Developers',\n        'Natural Language :: English',\n        'License :: OSI Approved :: BSD License',\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 :: Implementation :: CPython',\n        'Programming Language :: Python :: Implementation :: PyPy',\n        'Topic :: Software Development',\n    ],\n    keywords=(\n        'cookiecutter, Python, projects, project templates, Jinja2, '\n        'skeleton, scaffolding, project directory, setup.py, package, '\n        'packaging'\n    ),\n)\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\n\nimport os\nimport sys\n\nfrom setuptools import setup\n\nversion = \"1.3.0\"\n\nif sys.argv[-1] == 'publish':\n    os.system('python setup.py sdist upload')\n    os.system('python setup.py bdist_wheel upload')\n    sys.exit()\n\nif sys.argv[-1] == 'tag':\n    os.system(\"git tag -a %s -m 'version %s'\" % (version, version))\n    os.system(\"git push --tags\")\n    sys.exit()\n\nwith open('README.rst') as readme_file:\n    readme = readme_file.read()\n\nwith open('HISTORY.rst') as history_file:\n    history = history_file.read().replace('.. :changelog:', '')\n\nrequirements = [\n    'future>=0.15.2',\n    'binaryornot>=0.2.0',\n    'jinja2>=2.7',\n    'click>=5.0',\n    'whichcraft>=0.1.1'\n]\n\nlong_description = readme + '\\n\\n' + history\n\nif sys.argv[-1] == 'readme':\n    print(long_description)\n    sys.exit()\n\n\nsetup(\n    name='cookiecutter',\n    version=version,\n    description=('A command-line utility that creates projects from project '\n                 'templates, e.g. creating a Python package project from a '\n                 'Python package project template.'),\n    long_description=long_description,\n    author='Audrey Roy',\n    author_email='audreyr@gmail.com',\n    url='https://github.com/audreyr/cookiecutter',\n    packages=[\n        'cookiecutter',\n    ],\n    package_dir={'cookiecutter': 'cookiecutter'},\n    entry_points={\n        'console_scripts': [\n            'cookiecutter = cookiecutter.cli:main',\n        ]\n    },\n    include_package_data=True,\n    install_requires=requirements,\n    extras_require={\n        ':sys_platform==\"win32\" and python_version==\"2.7\"': [\n            'PyYAML>=3.10'\n        ],\n        ':sys_platform!=\"win32\" or python_version!=\"2.7\"': [\n            'ruamel.yaml>=0.10.12'\n        ]\n    },\n    license='BSD',\n    zip_safe=False,\n    classifiers=[\n        'Development Status :: 5 - Production/Stable',\n        'Environment :: Console',\n        'Intended Audience :: Developers',\n        'Natural Language :: English',\n        'License :: OSI Approved :: BSD License',\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 :: Implementation :: CPython',\n        'Programming Language :: Python :: Implementation :: PyPy',\n        'Topic :: Software Development',\n    ],\n    keywords=(\n        'cookiecutter, Python, projects, project templates, Jinja2, '\n        'skeleton, scaffolding, project directory, setup.py, package, '\n        'packaging'\n    ),\n)\n", "path": "setup.py"}]}