Skip to content

Commit dab392d

Browse files
committed
Ignore AttributeError on eventlet import
running on python 3.12, we get this error, we should ignore it until eventlet is fixed ``` ImportError while loading conftest '/home/runner/work/python-driver/python-driver/tests/integration/conftest.py'. tests/integration/__init__.py:16: in <module> from cassandra.cluster import Cluster cassandra/cluster.py:103: in init cassandra.cluster from cassandra.io.eventletreactor import EventletConnection cassandra/io/eventletreactor.py:18: in <module> import eventlet .test-venv/lib/python3.12/site-packages/eventlet/__init__.py:17: in <module> from eventlet import convenience .test-venv/lib/python3.12/site-packages/eventlet/convenience.py:7: in <module> from eventlet.green import socket .test-venv/lib/python3.12/site-packages/eventlet/green/socket.py:21: in <module> from eventlet.support import greendns .test-venv/lib/python3.12/site-packages/eventlet/support/greendns.py:45: in <module> from eventlet.green import ssl .test-venv/lib/python3.12/site-packages/eventlet/green/ssl.py:25: in <module> _original_wrap_socket = __ssl.wrap_socket E AttributeError: module 'ssl' has no attribute 'wrap_socket' ``` Ref: eventlet/eventlet#812
1 parent bc5cf17 commit dab392d

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

cassandra/cluster.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,9 @@
101101

102102
try:
103103
from cassandra.io.eventletreactor import EventletConnection
104-
except ImportError:
104+
except (ImportError, AttributeError):
105+
# AttributeError was add for handling python 3.12 https://github.com/eventlet/eventlet/issues/812
106+
# TODO: remove it when eventlet issue would be fixed
105107
EventletConnection = None
106108

107109
try:
@@ -115,9 +117,13 @@
115117
def _is_eventlet_monkey_patched():
116118
if 'eventlet.patcher' not in sys.modules:
117119
return False
118-
import eventlet.patcher
119-
return eventlet.patcher.is_monkey_patched('socket')
120-
120+
try:
121+
import eventlet.patcher
122+
return eventlet.patcher.is_monkey_patched('socket')
123+
except (ImportError, AttributeError):
124+
# AttributeError was add for handling python 3.12 https://github.com/eventlet/eventlet/issues/812
125+
# TODO: remove it when eventlet issue would be fixed
126+
return False
121127

122128
def _is_gevent_monkey_patched():
123129
if 'gevent.monkey' not in sys.modules:

0 commit comments

Comments
 (0)