We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Lightwood pip packages creates tests module
Installing lightwood creates 'tests' module in python site-packages

Steps to reproduce:
- `pip install lightwood`
- in python
 - `import tests`
 - `print(tests.__file__) `
It will show that 'tests' is in site-packages

--- 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 import sys
2 import setuptools
3 import os
4 
5 
6 def remove_requirements(requirements, name, replace=''):
7     new_requirements = []
8     for requirement in requirements:
9         if requirement.split(' ')[0] != name:
10             new_requirements.append(requirement)
11         elif replace is not None:
12             new_requirements.append(replace)
13     return new_requirements
14 
15 
16 sys_platform = sys.platform
17 
18 about = {}
19 with open("lightwood/__about__.py") as fp:
20     exec(fp.read(), about)
21 
22 with open("README.md", "r") as fh:
23     long_description = fh.read()
24 
25 with open('requirements.txt') as req_file:
26     requirements = [req.strip() for req in req_file.read().splitlines()]
27 
28 extra_requirements = {}
29 for fn in os.listdir('.'):
30     if fn.startswith('requirements_') and fn.endswith('.txt'):
31         extra_name = fn.replace('requirements_', '').replace('.txt', '')
32         with open(fn) as fp:
33             extra = [req.strip() for req in fp.read().splitlines()]
34         extra_requirements[extra_name] = extra
35 full_requirements = []
36 for v in extra_requirements.values():
37     full_requirements += v
38 extra_requirements['all_extras'] = list(set(full_requirements))
39 
40 # Windows specific requirements
41 if sys_platform in ['win32', 'cygwin', 'windows']:
42     # These have to be installed manually or via the installers in windows
43     requirements = remove_requirements(requirements, 'torch')
44 
45 setuptools.setup(
46     name=about['__title__'],
47     version=about['__version__'],
48     url=about['__github__'],
49     download_url=about['__pypi__'],
50     license=about['__license__'],
51     author=about['__author__'],
52     author_email=about['__email__'],
53     description=about['__description__'],
54     long_description=long_description,
55     long_description_content_type="text/markdown",
56     packages=setuptools.find_packages(),
57     package_data={'project': ['requirements.txt']},
58     install_requires=requirements,
59     extras_require=extra_requirements,
60     classifiers=[
61         "Programming Language :: Python :: 3",
62         "License :: OSI Approved :: MIT License",
63         "Operating System :: OS Independent",
64     ],
65     python_requires=">=3.7"
66 )
67
```
--- 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
@@ -53,7 +53,7 @@
     description=about['__description__'],
     long_description=long_description,
     long_description_content_type="text/markdown",
-    packages=setuptools.find_packages(),
+    packages=setuptools.find_packages(exclude=["tests", "tests.*"]),
     package_data={'project': ['requirements.txt']},
     install_requires=requirements,
     extras_require=extra_requirements,

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -53,7 +53,7 @@\n     description=about['__description__'],\n     long_description=long_description,\n     long_description_content_type=\"text/markdown\",\n-    packages=setuptools.find_packages(),\n+    packages=setuptools.find_packages(exclude=[\"tests\", \"tests.*\"]),\n     package_data={'project': ['requirements.txt']},\n     install_requires=requirements,\n     extras_require=extra_requirements,\n", "issue": "Lightwood pip packages creates tests module\nInstalling lightwood creates 'tests' module in python site-packages\r\n\r\nSteps to reproduce:\r\n- `pip install lightwood`\r\n- in python\r\n - `import tests`\r\n - `print(tests.__file__) `\r\nIt will show that 'tests' is in site-packages\n", "before_files": [{"content": "import sys\nimport setuptools\nimport os\n\n\ndef remove_requirements(requirements, name, replace=''):\n    new_requirements = []\n    for requirement in requirements:\n        if requirement.split(' ')[0] != name:\n            new_requirements.append(requirement)\n        elif replace is not None:\n            new_requirements.append(replace)\n    return new_requirements\n\n\nsys_platform = sys.platform\n\nabout = {}\nwith open(\"lightwood/__about__.py\") as fp:\n    exec(fp.read(), about)\n\nwith open(\"README.md\", \"r\") as fh:\n    long_description = fh.read()\n\nwith open('requirements.txt') as req_file:\n    requirements = [req.strip() for req in req_file.read().splitlines()]\n\nextra_requirements = {}\nfor fn in os.listdir('.'):\n    if fn.startswith('requirements_') and fn.endswith('.txt'):\n        extra_name = fn.replace('requirements_', '').replace('.txt', '')\n        with open(fn) as fp:\n            extra = [req.strip() for req in fp.read().splitlines()]\n        extra_requirements[extra_name] = extra\nfull_requirements = []\nfor v in extra_requirements.values():\n    full_requirements += v\nextra_requirements['all_extras'] = list(set(full_requirements))\n\n# Windows specific requirements\nif sys_platform in ['win32', 'cygwin', 'windows']:\n    # These have to be installed manually or via the installers in windows\n    requirements = remove_requirements(requirements, 'torch')\n\nsetuptools.setup(\n    name=about['__title__'],\n    version=about['__version__'],\n    url=about['__github__'],\n    download_url=about['__pypi__'],\n    license=about['__license__'],\n    author=about['__author__'],\n    author_email=about['__email__'],\n    description=about['__description__'],\n    long_description=long_description,\n    long_description_content_type=\"text/markdown\",\n    packages=setuptools.find_packages(),\n    package_data={'project': ['requirements.txt']},\n    install_requires=requirements,\n    extras_require=extra_requirements,\n    classifiers=[\n        \"Programming Language :: Python :: 3\",\n        \"License :: OSI Approved :: MIT License\",\n        \"Operating System :: OS Independent\",\n    ],\n    python_requires=\">=3.7\"\n)\n", "path": "setup.py"}], "after_files": [{"content": "import sys\nimport setuptools\nimport os\n\n\ndef remove_requirements(requirements, name, replace=''):\n    new_requirements = []\n    for requirement in requirements:\n        if requirement.split(' ')[0] != name:\n            new_requirements.append(requirement)\n        elif replace is not None:\n            new_requirements.append(replace)\n    return new_requirements\n\n\nsys_platform = sys.platform\n\nabout = {}\nwith open(\"lightwood/__about__.py\") as fp:\n    exec(fp.read(), about)\n\nwith open(\"README.md\", \"r\") as fh:\n    long_description = fh.read()\n\nwith open('requirements.txt') as req_file:\n    requirements = [req.strip() for req in req_file.read().splitlines()]\n\nextra_requirements = {}\nfor fn in os.listdir('.'):\n    if fn.startswith('requirements_') and fn.endswith('.txt'):\n        extra_name = fn.replace('requirements_', '').replace('.txt', '')\n        with open(fn) as fp:\n            extra = [req.strip() for req in fp.read().splitlines()]\n        extra_requirements[extra_name] = extra\nfull_requirements = []\nfor v in extra_requirements.values():\n    full_requirements += v\nextra_requirements['all_extras'] = list(set(full_requirements))\n\n# Windows specific requirements\nif sys_platform in ['win32', 'cygwin', 'windows']:\n    # These have to be installed manually or via the installers in windows\n    requirements = remove_requirements(requirements, 'torch')\n\nsetuptools.setup(\n    name=about['__title__'],\n    version=about['__version__'],\n    url=about['__github__'],\n    download_url=about['__pypi__'],\n    license=about['__license__'],\n    author=about['__author__'],\n    author_email=about['__email__'],\n    description=about['__description__'],\n    long_description=long_description,\n    long_description_content_type=\"text/markdown\",\n    packages=setuptools.find_packages(exclude=[\"tests\", \"tests.*\"]),\n    package_data={'project': ['requirements.txt']},\n    install_requires=requirements,\n    extras_require=extra_requirements,\n    classifiers=[\n        \"Programming Language :: Python :: 3\",\n        \"License :: OSI Approved :: MIT License\",\n        \"Operating System :: OS Independent\",\n    ],\n    python_requires=\">=3.7\"\n)\n", "path": "setup.py"}]}