prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Only keep necessary dependencies in requirements.txt
  Currently, we have one single `requirements.txt` file which contains some unnecessary dependencies used for testing only such as `pytest`, `pytest-cov`, and `mock`. They should not be part of `requirements.txt` and should not be distributed with `elasticdl` Python package.
  
  --- 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 find_packages, setup
  2 
  3 with open("elasticdl/requirements.txt") as f:
  4     requirements = f.read().splitlines()
  5 
  6 setup(
  7     name="elasticdl",
  8     version="develop",
  9     description="A Kubernetes-native Deep Learning Framework",
  10     long_description="ElasticDL is a Kubernetes-native deep learning framework"
  11     " built on top of TensorFlow 2.0 that supports"
  12     " fault-tolerance and elastic scheduling.",
  13     long_description_content_type="text/markdown",
  14     author="Ant Financial",
  15     url="https://elasticdl.org",
  16     install_requires=requirements,
  17     packages=find_packages(exclude=["*test*"]),
  18     package_data={"": ["proto/elasticdl.proto", "docker/*", "Makefile"]},
  19     entry_points={
  20         "console_scripts": ["elasticdl=elasticdl.python.elasticdl.client:main"]
  21     },
  22 )
  23
  ```
  --- 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
  @@ -1,7 +1,11 @@
   from setuptools import find_packages, setup
   
   with open("elasticdl/requirements.txt") as f:
  -    requirements = f.read().splitlines()
  +    required_deps = f.read().splitlines()
  +
  +extras = {}
  +with open("elasticdl/requirements-dev.txt") as f:
  +    extras["develop"] = f.read().splitlines()
   
   setup(
       name="elasticdl",
  @@ -13,7 +17,8 @@
       long_description_content_type="text/markdown",
       author="Ant Financial",
       url="https://elasticdl.org",
  -    install_requires=requirements,
  +    install_requires=required_deps,
  +    extras_require=extras,
       packages=find_packages(exclude=["*test*"]),
       package_data={"": ["proto/elasticdl.proto", "docker/*", "Makefile"]},
       entry_points={
  
verification_info: {"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 find_packages, setup\n \n with open(\"elasticdl/requirements.txt\") as f:\n-    requirements = f.read().splitlines()\n+    required_deps = f.read().splitlines()\n+\n+extras = {}\n+with open(\"elasticdl/requirements-dev.txt\") as f:\n+    extras[\"develop\"] = f.read().splitlines()\n \n setup(\n     name=\"elasticdl\",\n@@ -13,7 +17,8 @@\n     long_description_content_type=\"text/markdown\",\n     author=\"Ant Financial\",\n     url=\"https://elasticdl.org\",\n-    install_requires=requirements,\n+    install_requires=required_deps,\n+    extras_require=extras,\n     packages=find_packages(exclude=[\"*test*\"]),\n     package_data={\"\": [\"proto/elasticdl.proto\", \"docker/*\", \"Makefile\"]},\n     entry_points={\n", "issue": "Only keep necessary dependencies in requirements.txt\nCurrently, we have one single `requirements.txt` file which contains some unnecessary dependencies used for testing only such as `pytest`, `pytest-cov`, and `mock`. They should not be part of `requirements.txt` and should not be distributed with `elasticdl` Python package.\n", "before_files": [{"content": "from setuptools import find_packages, setup\n\nwith open(\"elasticdl/requirements.txt\") as f:\n    requirements = f.read().splitlines()\n\nsetup(\n    name=\"elasticdl\",\n    version=\"develop\",\n    description=\"A Kubernetes-native Deep Learning Framework\",\n    long_description=\"ElasticDL is a Kubernetes-native deep learning framework\"\n    \" built on top of TensorFlow 2.0 that supports\"\n    \" fault-tolerance and elastic scheduling.\",\n    long_description_content_type=\"text/markdown\",\n    author=\"Ant Financial\",\n    url=\"https://elasticdl.org\",\n    install_requires=requirements,\n    packages=find_packages(exclude=[\"*test*\"]),\n    package_data={\"\": [\"proto/elasticdl.proto\", \"docker/*\", \"Makefile\"]},\n    entry_points={\n        \"console_scripts\": [\"elasticdl=elasticdl.python.elasticdl.client:main\"]\n    },\n)\n", "path": "setup.py"}], "after_files": [{"content": "from setuptools import find_packages, setup\n\nwith open(\"elasticdl/requirements.txt\") as f:\n    required_deps = f.read().splitlines()\n\nextras = {}\nwith open(\"elasticdl/requirements-dev.txt\") as f:\n    extras[\"develop\"] = f.read().splitlines()\n\nsetup(\n    name=\"elasticdl\",\n    version=\"develop\",\n    description=\"A Kubernetes-native Deep Learning Framework\",\n    long_description=\"ElasticDL is a Kubernetes-native deep learning framework\"\n    \" built on top of TensorFlow 2.0 that supports\"\n    \" fault-tolerance and elastic scheduling.\",\n    long_description_content_type=\"text/markdown\",\n    author=\"Ant Financial\",\n    url=\"https://elasticdl.org\",\n    install_requires=required_deps,\n    extras_require=extras,\n    packages=find_packages(exclude=[\"*test*\"]),\n    package_data={\"\": [\"proto/elasticdl.proto\", \"docker/*\", \"Makefile\"]},\n    entry_points={\n        \"console_scripts\": [\"elasticdl=elasticdl.python.elasticdl.client:main\"]\n    },\n)\n", "path": "setup.py"}]}