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()

```

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={

{"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"}]}