Skip to content

SNOW-2873471: ExtensionOID errors in QGIS #2679

@reesericci

Description

@reesericci

Python version

Python 3.9.5 (default, Sep 10 2021, 16:18:19) [Clang 12.0.5 (clang-1205.0.22.11)]

Operating system and processor architecture

macOS-26.2-x86_64-i386-64bit (via Rosetta)

Installed packages

access==1.1.1
affine==2.3.0
appdirs==1.4.4
asn1crypto==1.5.1
attrs==19.3.0
beautifulsoup4==4.10.0
boto3==1.41.4
botocore==1.41.4
certifi==2025.11.12
cffi==2.0.0
cftime==1.2.1
chardet==3.0.4
charset-normalizer==3.4.4
click==7.1.2
click-plugins==1.1.1
cligj==0.5.0
clipboard==0.0.4
cmake==3.21.2
coverage==5.1
cryptography==46.0.3
cycler==0.10.0
Cython==0.29.21
decorator==4.4.2
distlib==0.3.1
distro==1.6.0
esda==2.3.1
ExifRead==2.1.2
filelock==3.19.1
Fiona==1.8.13.post1
funcsigs==1.0.2
future==0.18.2
GDAL==3.3.2
geopandas==0.8.1
giddy==2.3.3
h3==4.3.1
h5py==2.10.0
httplib2==0.17.2
idna==3.11
importlib-metadata==1.7.0
inequality==1.0.0
iniconfig==1.0.1
install==1.3.4
ipython-genutils==0.2.0
Jinja2==2.11.2
jmespath==1.0.1
joblib==0.16.0
jsonschema==3.2.0
jupyter-core==4.6.3
kiwisolver==1.2.0
libpysal==4.5.1
llvmlite==0.33.0
lxml==4.5.2
mapclassify==2.3.0
MarkupSafe==1.1.1
matplotlib==3.3.0
mgwr==2.1.1
mock==4.0.2
more-itertools==8.4.0
munch==2.5.0
nbformat==5.0.5
netCDF4==1.5.4
networkx==2.4
nose2==0.9.2
numba==0.50.1
numpy==1.20.1
oauthlib==3.1.0
opencv-contrib-python==4.3.0.36
OWSLib==0.19.2
packaging==20.4
pandas==1.3.3
patsy==0.5.1
pbr==5.4.5
Pillow==7.2.0
pipenv==2020.6.2
platformdirs==4.4.0
plotly==4.6.0
pluggy==0.13.1
ply==3.11
pointpats==2.2.0
psycopg2==2.8.5
py==1.9.0
pycparser==2.23
Pygments==2.6.1
PyJWT==2.10.1
pymssql==2.1.5
pyodbc==4.0.30
pyOpenSSL==25.3.0
pyparsing==2.4.7
pyperclip==1.8.1
pyproj==3.2.0
PyPubSub==3.3.0
PyQt5==5.15.4
PyQt5_sip==4.19.25
pyrsistent==0.16.0
pysal==2.5.0
pytest==6.0.1
pytest-cov==2.10.0
python-dateutil==2.8.0
pytz==2019.3
pyvenv==0.2.2
PyYAML==5.3.1
QScintilla==2.11.5
quantecon==0.4.8
rasterio==1.1.5
rasterstats==0.15.0
requests==2.32.5
retrying==1.3.3
Rtree==0.9.7
s3transfer==0.15.0
scikit-build==0.12.0
scikit-learn==0.23.1
scipy==1.5.1
seaborn==0.10.1
segregation==1.3.0
Shapely==1.7.0
simplejson==3.17.0
six==1.14.0
snowflake-connector-python==4.1.0
snuggs==1.4.7
sortedcontainers==2.4.0
spaghetti==1.5.0
spglm==1.0.7
Sphinx==2.4.3
spint==1.0.6
splot==1.1.3
spreg==1.1.2.post1
spvcm==0.3.0
statsmodels==0.11.1
termcolor==1.1.0
threadpoolctl==2.1.0
tobler==0.3.1
toml==0.10.1
tomlkit==0.13.3
tools==0.1.9
tqdm==4.48.2
traitlets==4.3.3
typing_extensions==4.15.0
urllib3==1.26.20
virtualenv==20.0.30
virtualenv-clone==0.5.4
xlrd==1.2.0
xlwt==1.3.0
zipp==3.1.0

What did you do?

Use the QGIS plugin

What did you expect to see?

Success message after install, no error popup. Error popped up, success message displayed, but the extension didn't work.

Related to snowflakedb/qgis-snowflake-connector#107

Can you set logging to DEBUG and collect the logs?

Couldn't load plugin 'qgis-snowflake-connector' due to an error when calling its classFactory() method 

ImportError: cannot import name 'ExtensionOID' from 'cryptography.hazmat._oid' (/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/cryptography/hazmat/_oid.py) 
Traceback (most recent call last):
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 478, in _startPlugin
    plugins[packageName] = package.classFactory(iface)
  File "/Users/reesericci/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qgis-snowflake-connector/__init__.py", line 59, in classFactory
    from .qgis_snowflake_connector import QGISSnowflakeConnectorPlugin
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Users/reesericci/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qgis-snowflake-connector/qgis_snowflake_connector.py", line 56, in 
    from .providers.sf_metadata_provider import SFMetadataProvider
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Users/reesericci/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qgis-snowflake-connector/providers/sf_metadata_provider.py", line 6, in 
    from .sf_vector_data_provider import SFVectorDataProvider
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Users/reesericci/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qgis-snowflake-connector/providers/sf_vector_data_provider.py", line 15, in 
    from .sf_feature_iterator import SFFeatureIterator
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Users/reesericci/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qgis-snowflake-connector/providers/sf_feature_iterator.py", line 11, in 
    from ..helpers.data_base import limit_size_for_type
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Users/reesericci/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qgis-snowflake-connector/helpers/data_base.py", line 5, in 
    from ..managers.sf_connection_manager import SFConnectionManager
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Users/reesericci/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qgis-snowflake-connector/managers/sf_connection_manager.py", line 3, in 
    import snowflake.connector
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/snowflake/connector/__init__.py", line 17, in 
    from .connection import SnowflakeConnection
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/snowflake/connector/connection.py", line 46, in 
    from .auth import (
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/snowflake/connector/auth/__init__.py", line 3, in 
    from ._auth import Auth, get_public_key_fingerprint, get_token_from_private_key
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/snowflake/connector/auth/_auth.py", line 47, in 
    from ..network import (
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/snowflake/connector/network.py", line 18, in 
    from . import ssl_wrap_socket
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/snowflake/connector/ssl_wrap_socket.py", line 25, in 
    from .crl import CertRevocationCheckMode, CRLConfig, CRLValidator
  File "/Applications/QGIS.app/Contents/MacOS/../Resources/python/qgis/utils.py", line 1100, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
  File "/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/snowflake/connector/crl.py", line 13, in 
    from cryptography.hazmat._oid import ExtensionOID
ImportError: cannot import name 'ExtensionOID' from 'cryptography.hazmat._oid' (/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/cryptography/hazmat/_oid.py)


Python version: 3.9.5 (default, Sep 10 2021, 16:18:19) [Clang 12.0.5 (clang-1205.0.22.11)] 
QGIS version: 3.42.1-Münster Münster, 1fc52835a89 

Python Path:
/Applications/QGIS.app/Contents/MacOS/../Resources/python
/Users/reesericci/Library/Application Support/QGIS/QGIS3/profiles/default/python
/Users/reesericci/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins
/Applications/QGIS.app/Contents/MacOS/../Resources/python/plugins
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages
/Applications/QGIS.app/Contents/MacOS/lib/python39.zip
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/numba-0.50.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/geopandas-0.8.1-py3.9.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/pandas-1.3.3-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/lib-dynload
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/numpy-1.20.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/cftime-1.2.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/netCDF4-1.5.4-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/Rtree-0.9.7-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/Fiona-1.8.13.post1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/Pillow-7.2.0-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/patsy-0.5.1-py3.9.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/rasterio-1.1.5-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/scipy-1.5.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/pyproj-3.2.0-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/GDAL-3.3.2-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/statsmodels-0.11.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/matplotlib-3.3.0-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS.app/Contents/MacOS/lib/python3.9/site-packages/opencv_contrib_python-4.3.0.36-py3.9-macosx-10.13.0-x86_64.egg
/Users/reesericci/Library/Application Support/QGIS/QGIS3/profiles/default/python

Metadata

Metadata

Labels

status-triage_doneInitial triage done, will be further handled by the driver team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions