We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
pip install mne should install numpy and scipy
Currently, the `mne` PyPI package doesn't have any dependencies, but I think it should really treat `numpy` and `scipy` as hard dependencies (and automatically install them if they are not present).

--- 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 # Copyright (C) 2011-2017 Alexandre Gramfort
4 # <alexandre.gramfort@telecom-paristech.fr>
5 
6 import os
7 import os.path as op
8 
9 from setuptools import setup
10 
11 # get the version (don't import mne here, so dependencies are not needed)
12 version = None
13 with open(op.join('mne', '__init__.py'), 'r') as fid:
14     for line in (line.strip() for line in fid):
15         if line.startswith('__version__'):
16             version = line.split('=')[1].strip().strip('\'')
17             break
18 if version is None:
19     raise RuntimeError('Could not determine version')
20 
21 
22 descr = """MNE python project for MEG and EEG data analysis."""
23 
24 DISTNAME = 'mne'
25 DESCRIPTION = descr
26 MAINTAINER = 'Alexandre Gramfort'
27 MAINTAINER_EMAIL = 'alexandre.gramfort@telecom-paristech.fr'
28 URL = 'http://martinos.org/mne'
29 LICENSE = 'BSD (3-clause)'
30 DOWNLOAD_URL = 'http://github.com/mne-tools/mne-python'
31 VERSION = version
32 
33 
34 def package_tree(pkgroot):
35     """Get the submodule list."""
36     # Adapted from VisPy
37     path = op.dirname(__file__)
38     subdirs = [op.relpath(i[0], path).replace(op.sep, '.')
39                for i in os.walk(op.join(path, pkgroot))
40                if '__init__.py' in i[2]]
41     return sorted(subdirs)
42 
43 
44 if __name__ == "__main__":
45     if op.exists('MANIFEST'):
46         os.remove('MANIFEST')
47 
48     setup(name=DISTNAME,
49           maintainer=MAINTAINER,
50           include_package_data=True,
51           maintainer_email=MAINTAINER_EMAIL,
52           description=DESCRIPTION,
53           license=LICENSE,
54           url=URL,
55           version=VERSION,
56           download_url=DOWNLOAD_URL,
57           long_description=open('README.rst').read(),
58           zip_safe=False,  # the package can run out of an .egg file
59           classifiers=['Intended Audience :: Science/Research',
60                        'Intended Audience :: Developers',
61                        'License :: OSI Approved',
62                        'Programming Language :: Python',
63                        'Topic :: Software Development',
64                        'Topic :: Scientific/Engineering',
65                        'Operating System :: Microsoft :: Windows',
66                        'Operating System :: POSIX',
67                        'Operating System :: Unix',
68                        'Operating System :: MacOS',
69                        'Programming Language :: Python :: 3',
70                        ],
71           platforms='any',
72           packages=package_tree('mne'),
73           package_data={'mne': [
74               op.join('data', '*.sel'),
75               op.join('data', 'icos.fif.gz'),
76               op.join('data', 'coil_def*.dat'),
77               op.join('data', 'helmets', '*.fif.gz'),
78               op.join('data', 'FreeSurferColorLUT.txt'),
79               op.join('data', 'image', '*gif'),
80               op.join('data', 'image', '*lout'),
81               op.join('data', 'fsaverage', '*.fif'),
82               op.join('channels', 'data', 'layouts', '*.lout'),
83               op.join('channels', 'data', 'layouts', '*.lay'),
84               op.join('channels', 'data', 'montages', '*.sfp'),
85               op.join('channels', 'data', 'montages', '*.txt'),
86               op.join('channels', 'data', 'montages', '*.elc'),
87               op.join('channels', 'data', 'neighbors', '*.mat'),
88               op.join('datasets', 'sleep_physionet', 'SHA1SUMS'),
89               op.join('gui', 'help', '*.json'),
90               op.join('html', '*.js'),
91               op.join('html', '*.css'),
92               op.join('io', 'artemis123', 'resources', '*.csv'),
93               op.join('io', 'edf', 'gdf_encodes.txt')
94               ]},
95           scripts=['bin/mne'])
96
```
--- 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
@@ -69,6 +69,7 @@
                        'Programming Language :: Python :: 3',
                        ],
           platforms='any',
+          install_requires=['numpy>=1.11.3', 'scipy>=0.17.1'],
           packages=package_tree('mne'),
           package_data={'mne': [
               op.join('data', '*.sel'),

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -69,6 +69,7 @@\n                        'Programming Language :: Python :: 3',\n                        ],\n           platforms='any',\n+          install_requires=['numpy>=1.11.3', 'scipy>=0.17.1'],\n           packages=package_tree('mne'),\n           package_data={'mne': [\n               op.join('data', '*.sel'),\n", "issue": "pip install mne should install numpy and scipy\nCurrently, the `mne` PyPI package doesn't have any dependencies, but I think it should really treat `numpy` and `scipy` as hard dependencies (and automatically install them if they are not present).\n", "before_files": [{"content": "#!/usr/bin/env python\n\n# Copyright (C) 2011-2017 Alexandre Gramfort\n# <alexandre.gramfort@telecom-paristech.fr>\n\nimport os\nimport os.path as op\n\nfrom setuptools import setup\n\n# get the version (don't import mne here, so dependencies are not needed)\nversion = None\nwith open(op.join('mne', '__init__.py'), 'r') as fid:\n    for line in (line.strip() for line in fid):\n        if line.startswith('__version__'):\n            version = line.split('=')[1].strip().strip('\\'')\n            break\nif version is None:\n    raise RuntimeError('Could not determine version')\n\n\ndescr = \"\"\"MNE python project for MEG and EEG data analysis.\"\"\"\n\nDISTNAME = 'mne'\nDESCRIPTION = descr\nMAINTAINER = 'Alexandre Gramfort'\nMAINTAINER_EMAIL = 'alexandre.gramfort@telecom-paristech.fr'\nURL = 'http://martinos.org/mne'\nLICENSE = 'BSD (3-clause)'\nDOWNLOAD_URL = 'http://github.com/mne-tools/mne-python'\nVERSION = version\n\n\ndef package_tree(pkgroot):\n    \"\"\"Get the submodule list.\"\"\"\n    # Adapted from VisPy\n    path = op.dirname(__file__)\n    subdirs = [op.relpath(i[0], path).replace(op.sep, '.')\n               for i in os.walk(op.join(path, pkgroot))\n               if '__init__.py' in i[2]]\n    return sorted(subdirs)\n\n\nif __name__ == \"__main__\":\n    if op.exists('MANIFEST'):\n        os.remove('MANIFEST')\n\n    setup(name=DISTNAME,\n          maintainer=MAINTAINER,\n          include_package_data=True,\n          maintainer_email=MAINTAINER_EMAIL,\n          description=DESCRIPTION,\n          license=LICENSE,\n          url=URL,\n          version=VERSION,\n          download_url=DOWNLOAD_URL,\n          long_description=open('README.rst').read(),\n          zip_safe=False,  # the package can run out of an .egg file\n          classifiers=['Intended Audience :: Science/Research',\n                       'Intended Audience :: Developers',\n                       'License :: OSI Approved',\n                       'Programming Language :: Python',\n                       'Topic :: Software Development',\n                       'Topic :: Scientific/Engineering',\n                       'Operating System :: Microsoft :: Windows',\n                       'Operating System :: POSIX',\n                       'Operating System :: Unix',\n                       'Operating System :: MacOS',\n                       'Programming Language :: Python :: 3',\n                       ],\n          platforms='any',\n          packages=package_tree('mne'),\n          package_data={'mne': [\n              op.join('data', '*.sel'),\n              op.join('data', 'icos.fif.gz'),\n              op.join('data', 'coil_def*.dat'),\n              op.join('data', 'helmets', '*.fif.gz'),\n              op.join('data', 'FreeSurferColorLUT.txt'),\n              op.join('data', 'image', '*gif'),\n              op.join('data', 'image', '*lout'),\n              op.join('data', 'fsaverage', '*.fif'),\n              op.join('channels', 'data', 'layouts', '*.lout'),\n              op.join('channels', 'data', 'layouts', '*.lay'),\n              op.join('channels', 'data', 'montages', '*.sfp'),\n              op.join('channels', 'data', 'montages', '*.txt'),\n              op.join('channels', 'data', 'montages', '*.elc'),\n              op.join('channels', 'data', 'neighbors', '*.mat'),\n              op.join('datasets', 'sleep_physionet', 'SHA1SUMS'),\n              op.join('gui', 'help', '*.json'),\n              op.join('html', '*.js'),\n              op.join('html', '*.css'),\n              op.join('io', 'artemis123', 'resources', '*.csv'),\n              op.join('io', 'edf', 'gdf_encodes.txt')\n              ]},\n          scripts=['bin/mne'])\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\n\n# Copyright (C) 2011-2017 Alexandre Gramfort\n# <alexandre.gramfort@telecom-paristech.fr>\n\nimport os\nimport os.path as op\n\nfrom setuptools import setup\n\n# get the version (don't import mne here, so dependencies are not needed)\nversion = None\nwith open(op.join('mne', '__init__.py'), 'r') as fid:\n    for line in (line.strip() for line in fid):\n        if line.startswith('__version__'):\n            version = line.split('=')[1].strip().strip('\\'')\n            break\nif version is None:\n    raise RuntimeError('Could not determine version')\n\n\ndescr = \"\"\"MNE python project for MEG and EEG data analysis.\"\"\"\n\nDISTNAME = 'mne'\nDESCRIPTION = descr\nMAINTAINER = 'Alexandre Gramfort'\nMAINTAINER_EMAIL = 'alexandre.gramfort@telecom-paristech.fr'\nURL = 'http://martinos.org/mne'\nLICENSE = 'BSD (3-clause)'\nDOWNLOAD_URL = 'http://github.com/mne-tools/mne-python'\nVERSION = version\n\n\ndef package_tree(pkgroot):\n    \"\"\"Get the submodule list.\"\"\"\n    # Adapted from VisPy\n    path = op.dirname(__file__)\n    subdirs = [op.relpath(i[0], path).replace(op.sep, '.')\n               for i in os.walk(op.join(path, pkgroot))\n               if '__init__.py' in i[2]]\n    return sorted(subdirs)\n\n\nif __name__ == \"__main__\":\n    if op.exists('MANIFEST'):\n        os.remove('MANIFEST')\n\n    setup(name=DISTNAME,\n          maintainer=MAINTAINER,\n          include_package_data=True,\n          maintainer_email=MAINTAINER_EMAIL,\n          description=DESCRIPTION,\n          license=LICENSE,\n          url=URL,\n          version=VERSION,\n          download_url=DOWNLOAD_URL,\n          long_description=open('README.rst').read(),\n          zip_safe=False,  # the package can run out of an .egg file\n          classifiers=['Intended Audience :: Science/Research',\n                       'Intended Audience :: Developers',\n                       'License :: OSI Approved',\n                       'Programming Language :: Python',\n                       'Topic :: Software Development',\n                       'Topic :: Scientific/Engineering',\n                       'Operating System :: Microsoft :: Windows',\n                       'Operating System :: POSIX',\n                       'Operating System :: Unix',\n                       'Operating System :: MacOS',\n                       'Programming Language :: Python :: 3',\n                       ],\n          platforms='any',\n          install_requires=['numpy>=1.11.3', 'scipy>=0.17.1'],\n          packages=package_tree('mne'),\n          package_data={'mne': [\n              op.join('data', '*.sel'),\n              op.join('data', 'icos.fif.gz'),\n              op.join('data', 'coil_def*.dat'),\n              op.join('data', 'helmets', '*.fif.gz'),\n              op.join('data', 'FreeSurferColorLUT.txt'),\n              op.join('data', 'image', '*gif'),\n              op.join('data', 'image', '*lout'),\n              op.join('data', 'fsaverage', '*.fif'),\n              op.join('channels', 'data', 'layouts', '*.lout'),\n              op.join('channels', 'data', 'layouts', '*.lay'),\n              op.join('channels', 'data', 'montages', '*.sfp'),\n              op.join('channels', 'data', 'montages', '*.txt'),\n              op.join('channels', 'data', 'montages', '*.elc'),\n              op.join('channels', 'data', 'neighbors', '*.mat'),\n              op.join('datasets', 'sleep_physionet', 'SHA1SUMS'),\n              op.join('gui', 'help', '*.json'),\n              op.join('html', '*.js'),\n              op.join('html', '*.css'),\n              op.join('io', 'artemis123', 'resources', '*.csv'),\n              op.join('io', 'edf', 'gdf_encodes.txt')\n              ]},\n          scripts=['bin/mne'])\n", "path": "setup.py"}]}