Repository: aio-libs/aiohttp

Issue:
AttributeError: module 'aiohttp' has no attribute 'Signal'
### Describe the bug

```
Python 3.7.10 (default, May  5 2021, 13:11:39) 
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from aiohttp import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'aiohttp' has no attribute 'Signal'
```

### To Reproduce

```
Python 3.7.10 (default, May  5 2021, 13:11:39) 
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from aiohttp import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'aiohttp' has no attribute 'Signal'
```

### Expected behavior

No error. 

### Logs/tracebacks

```python-traceback
Python 3.7.10 (default, May  5 2021, 13:11:39) 
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from aiohttp import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'aiohttp' has no attribute 'Signal'
```


### Python Version

```console
$ python --version
3.7.10
```


### aiohttp Version

```console
$ python -m pip show aiohttp
Name: aiohttp
Version: 3.8.0
Summary: Async http client/server framework (asyncio)
Home-page: https://github.com/aio-libs/aiohttp
Author: 
Author-email: 
License: Apache 2
Location: /Users/naoko.reeves/.pyenv/versions/3.7.10/envs/mdl-pipelines-3.7.10/lib/python3.7/site-packages
Requires: aiosignal, async-timeout, asynctest, attrs, charset-normalizer, frozenlist, multidict, typing-extensions, yarl
Required-by: pytest-aiohttp
```


### multidict Version

```console
$ python -m pip show multidict
Name: multidict
Version: 5.2.0
Summary: multidict implementation
Home-page: https://github.com/aio-libs/multidict
Author: Andrew Svetlov
Author-email: andrew.svetlov@gmail.com
License: Apache 2
Location: /Users/naoko.reeves/.pyenv/versions/3.7.10/envs/mdl-pipelines-3.7.10/lib/python3.7/site-packages
Requires: 
Required-by: aiohttp, yarl
```


### yarl Version

```console
$ python -m pip show yarl
Name: yarl
Version: 1.7.0
Summary: Yet another URL library
Home-page: https://github.com/aio-libs/yarl/
Author: Andrew Svetlov
Author-email: andrew.svetlov@gmail.com
License: Apache 2
Location: /Users/naoko.reeves/.pyenv/versions/3.7.10/envs/mdl-pipelines-3.7.10/lib/python3.7/site-packages
Requires: idna, multidict, typing-extensions
Required-by: aiohttp
```


### OS

macOSX

### Related component

Client

### Additional context

_No response_

### Code of Conduct

- [X] I agree to follow the aio-libs Code of Conduct


Discussion:
How is this not caught by flake8...?

Resolving patch:
diff --git a/aiohttp/__init__.py b/aiohttp/__init__.py
--- a/aiohttp/__init__.py
+++ b/aiohttp/__init__.py
@@ -180,8 +180,6 @@
     "AsyncResolver",
     "DefaultResolver",
     "ThreadedResolver",
-    # signals
-    "Signal",
     # streams
     "DataQueue",
     "EMPTY_PAYLOAD",
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -69,6 +69,7 @@
     "python": ("http://docs.python.org/3", None),
     "multidict": ("https://multidict.readthedocs.io/en/stable/", None),
     "yarl": ("https://yarl.readthedocs.io/en/stable/", None),
+    "aiosignal": ("https://aiosignal.readthedocs.io/en/stable/", None),
     "aiohttpjinja2": ("https://aiohttp-jinja2.readthedocs.io/en/stable/", None),
     "aiohttpremotes": ("https://aiohttp-remotes.readthedocs.io/en/stable/", None),
     "aiohttpsession": ("https://aiohttp-session.readthedocs.io/en/stable/", None),


Test patch:
diff --git a/tests/test___all__.py b/tests/test___all__.py
new file mode 100644
--- /dev/null
+++ b/tests/test___all__.py
@@ -0,0 +1,24 @@
+from typing import Any
+
+
+def test___all__(pytester: Any) -> None:
+    """
+    See https://github.com/aio-libs/aiohttp/issues/6197
+    """
+    pytester.makepyfile(
+        test_a="""
+            from aiohttp import *
+        """
+    )
+    result = pytester.runpytest("-vv")
+    result.assert_outcomes(passed=0, errors=0)
+
+
+def test_web___all__(pytester: Any) -> None:
+    pytester.makepyfile(
+        test_b="""
+            from aiohttp.web import *
+        """
+    )
+    result = pytester.runpytest("-vv")
+    result.assert_outcomes(passed=0, errors=0)