jneight / django-db-geventpool

Another DB pool using gevent
Apache License 2.0
167 stars 29 forks source link

module 'select' has no attribute 'kqueue' #87

Open zs-hengli opened 1 week ago

zs-hengli commented 1 week ago

packages: django==5.0.3 django-db-geventpool==4.0.5 gevent==24.2.1 gunicorn==22.0.0 psycopg-binary==3.2.1 psycopg-c==3.2.1 psycopg-pool==3.2.2

system: mac m1 python 3.12

Traceback (most recent call last): File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/rest_framework/views.py", line 506, in dispatch response = handler(request, *args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/zhishu/code/thirdpart_prod/sci_nav_backend/bot/views.py", line 44, in get data = hot_bots() ^^^^^^^^^^ File "/Users/liheng/zhishu/code/thirdpart_prod/sci_nav_backend/bot/service.py", line 125, in hot_bots hot_bot_list_data = HotBotListSerializer(hot_bot, many=True).data ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/rest_framework/serializers.py", line 768, in data ret = super().data ^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/rest_framework/serializers.py", line 253, in data self._data = self.to_representation(self.instance) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/rest_framework/serializers.py", line 686, in to_representation return [ ^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django/db/models/query.py", line 400, in iter self._fetch_all() File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django/db/models/query.py", line 1928, in _fetch_all self._result_cache = list(self._iterable_class(self)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django/db/models/query.py", line 91, in iter results = compiler.execute_sql( ^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django/db/models/sql/compiler.py", line 1560, in execute_sql cursor = self.connection.cursor() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner return func(*args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django/db/backends/base/base.py", line 316, in cursor return self._cursor() ^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django/db/backends/base/base.py", line 292, in _cursor self.ensure_connection() File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner return func(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django/db/backends/base/base.py", line 275, in ensure_connection self.connect() File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django/utils/asyncio.py", line 26, in inner return func(*args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django/db/backends/base/base.py", line 256, in connect self.connection = self.get_new_connection(conn_params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django_db_geventpool/backends/base.py", line 41, in get_new_connection self.connection = self.pool.get() ^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django_db_geventpool/backends/pool.py", line 55, in get conn = self.create_connection() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/django_db_geventpool/backends/postgresql_psycopg3/base.py", line 29, in create_connection conn = self.connect(self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/psycopg/connection.py", line 103, in connect rv = waiting.wait_conn(gen, interval=_WAIT_INTERVAL) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/envs/scinav/lib/python3.12/site-packages/psycopg/waiting.py", line 88, in wait_conn with DefaultSelector() as sel: ^^^^^^^^^^^^^^^^^ File "/Users/liheng/.pyenv/versions/3.12.2/lib/python3.12/selectors.py", line 511, in init self._selector = select.kqueue() ^^^^^^^^^^^^^ AttributeError: module 'select' has no attribute 'kqueue'

zs-hengli commented 1 week ago

change: psycopg[binary,pool] psycopg[c] to: psycopg2-binary

solve the problem