Reputation: 1
Steps to reproduce: Run the below docker compose file where am installing debugpy and using debugpy to connect to port 5672!
Broken pip -- tried downgrading the pip version to pip 20.0.2 yet that didnt work!
pip version
bash-5.1# pip --version pip 23.0 from /.venv/lib/python3.8/site-packages/pip (python 3.8)
docker-compose.yml
services:
srvr:
build:
context: ../..
dockerfile: Dockerfile
hostname: srvr
container_name: srvr
networks:
- fyndnet
entrypoint:
[
"sh",
"-c",
"pip install --upgrade debugpy && python -m debugpy --wait-for-client --listen 0.0.0.0:5672 -m entrypoint",
]
volumes:
- ../..:/srv/data
environment:
- MODE=server
env_file:
- $env_file_name
image: python:latest
tty: true
ports:
- "$Port1:8085"
- 5672:5672
Collecting debugpy
server | Downloading debugpy-1.8.1-py2.py3-none-any.whl (4.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.8/4.8 MB 1.3 MB/s eta 0:00:00
server | Installing collected packages: debugpy
server | Successfully installed debugpy-1.8.1
server |
server | [notice] A new release of pip is available: 23.0 -> 24.0
server | [notice] To update, run: pip install --upgrade pip
server | Traceback (most recent call last):
server | File "/usr/local/lib/python3.8/runpy.py", line 194, in _run_module_as_main
server | return _run_code(code, main_globals, None,
server | File "/usr/local/lib/python3.8/runpy.py", line 87, in _run_code
server | exec(code, run_globals)
server | File "/.venv/lib/python3.8/site-packages/debugpy/adapter/__main__.py", line 215, in <module>
server | __import__("debugpy")
server | File "/.venv/lib/python3.8/site-packages/debugpy/adapter/../../debugpy/__init__.py", line 35, in <module>
server | from debugpy.public_api import * # noqa
server | File "/.venv/lib/python3.8/site-packages/debugpy/adapter/../../debugpy/public_api.py", line 8, in <module>
server | import typing
server | File "/.venv/lib/python3.8/site-packages/debugpy/adapter/../../typing.py", line 1359, in <module>
server | class Callable(extra=collections_abc.Callable, metaclass=CallableMeta):
server | File "/.venv/lib/python3.8/site-packages/debugpy/adapter/../../typing.py", line 1007, in __new__
server | self._abc_registry = extra._abc_registry
server | AttributeError: type object 'Callable' has no attribute '_abc_registry'
server | Traceback (most recent call last):
server | File "/.venv/lib/python3.8/site-packages/debugpy/server/api.py", line 237, in listen
server | sock, _ = endpoints_listener.accept()
server | File "/usr/local/lib/python3.8/socket.py", line 292, in accept
server | fd, addr = self._accept()
server | socket.timeout: timed out
server |
server | During handling of the above exception, another exception occurred:
server |
server | Traceback (most recent call last):
server | File "/usr/local/lib/python3.8/runpy.py", line 194, in _run_module_as_main
server | return _run_code(code, main_globals, None,
server | File "/usr/local/lib/python3.8/runpy.py", line 87, in _run_code
server | exec(code, run_globals)
server | File "/.venv/lib/python3.8/site-packages/debugpy/__main__.py", line 39, in <module>
server | cli.main()
server | File "/.venv/lib/python3.8/site-packages/debugpy/server/cli.py", line 430, in main
server | run()
server | File "/.venv/lib/python3.8/site-packages/debugpy/server/cli.py", line 302, in run_module
server | start_debugging(argv_0)
server | File "/.venv/lib/python3.8/site-packages/debugpy/server/cli.py", line 256, in start_debugging
server | debugpy.listen(options.address)
server | File "/.venv/lib/python3.8/site-packages/debugpy/public_api.py", line 31, in wrapper
server | return wrapped(*args, **kwargs)
server | File "/.venv/lib/python3.8/site-packages/debugpy/server/api.py", line 143, in debug
server | log.reraise_exception("{0}() failed:", func.__name__, level="info")
server | File "/.venv/lib/python3.8/site-packages/debugpy/server/api.py", line 141, in debug
server | return func(address, settrace_kwargs, **kwargs)
server | File "/.venv/lib/python3.8/site-packages/debugpy/server/api.py", line 251, in listen
server | raise RuntimeError("timed out waiting for adapter to connect")
server | RuntimeError: timed out waiting for adapter to connect
server exited with code 1
I attempted to use the debugpy library to run a debugger on VSCode by executing the above docker-compose.yml file
pip install --upgrade debugpy && python -m debugpy --wait-for-client --listen 0.0.0.0:5672 -m entrypoint
However, when trying to connect to port 5672, I encountered an AttributeError with the message: "type object 'Callable' has no attribute '_abc_registry'".
I was expecting the debugpy library to start successfully and wait for a client connection on port 5672, allowing me to debug my application using VSCode. However, due to the AttributeError, the connection was not established, and debugging was not possible.
Upvotes: 0
Views: 430
Reputation: 49
Uninstalling typing worked for me. In your docker compose uninstall the package. I am using python 3.11, This package removal did not break my app however typing is used within the app. I guess it is using builtin typing module within python3.11.
command:
sh -c "pip install --upgrade debugpy && pip uninstall --yes typing && python -m debugpy --wait-for-client --listen 0.0.0.0:5678 -m entrypoint
Upvotes: 0