prompt: 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()
  
  ```
  
golden_diff: 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'),
  
verification_info: {"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"}]}