You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

导入snowflake.sqlalchemy的URL时触发X509_V_FLAG_CB_ISSUER_CHECK属性错误

解决AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'错误

问题背景

在Ubuntu 20、Python 3.8、pip 22环境下,安装snowflake-sqlalchemy包后,在Python Shell或Spark Shell中执行from snowflake.sqlalchemy import URL导入操作时触发错误,核心报错为:

AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'

完整错误栈如下:

Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 72, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 32, in <module>
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 12, in <module>
    import os, glob, subprocess, os.path, time, pwd, sys, requests_unixsocket
  File "/usr/lib/python3/dist-packages/requests_unixsocket/__init__.py", line 1, in <module>
    import requests
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File "/usr/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl/requests/__init__.py", line 95, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
  File "<frozen zipimport>", line 259, in load_module
  File "/usr/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py", line 46, in <module>
  File "/usr/lib/python3/dist-packages/OpenSSL/__init__.py", line 8, in <module>
    from OpenSSL import crypto, SSL
  File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 1553, in <module>
    class X509StoreFlags(object):
  File "/usr/lib/python3/dist-packages/OpenSSL/crypto.py", line 1573, in X509StoreFlags
    CB_ISSUER_CHECK = _lib.X509_V_FLAG_CB_ISSUER_CHECK
AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'

解决方法

方法1:降级pyOpenSSL至兼容版本

该错误通常因pyOpenSSL版本过高,与系统内置OpenSSL库不兼容导致。执行以下命令降级:

pip install pyopenssl==20.0.1

完成后重新尝试导入操作。

方法2:更新系统OpenSSL库

若降级pyOpenSSL无效,可尝试更新系统级OpenSSL组件:

sudo apt update && sudo apt install --only-upgrade openssl libssl-dev

更新完成后,强制重新安装snowflake-sqlalchemy及其依赖:

pip install --force-reinstall snowflake-sqlalchemy

方法3:使用虚拟环境隔离依赖

避免全局依赖冲突,创建独立虚拟环境并安装依赖:

# 创建Python 3.8虚拟环境
python3.8 -m venv snowflake_env
# 激活虚拟环境
source snowflake_env/bin/activate
# 更新pip到最新版本
pip install pip --upgrade
# 安装snowflake-sqlalchemy
pip install snowflake-sqlalchemy

在虚拟环境中执行导入操作,可规避多数依赖版本冲突问题。

内容的提问来源于stack exchange,提问作者suryaares

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 15:35:25