Nishanth Shastry
Nishanth Shastry

Reputation: 1

AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK' - Python Flask Error

I am running a Python Flask application which connects to mongodb using "pymongo" python module.

I am getting the below error and not sure what else to do to overcome it.

Application details, (running the application in a virtual environment as well)

  1. OS - Ubuntu 20.04
  2. openssl version: OpenSSL 1.1.1f 31 Mar 2020
  3. Python version: 3.11.7
  4. pyopenssl version: 23.3.0
  5. pymongo version: 4.6.1
  6. Flask version: 3.0.1

Error:

mod_wsgi (pid=43050): Failed to exec Python script file '/myflaskapp/myflaskapp.wsgi'.
mod_wsgi (pid=43050): Exception occurred processing WSGI script '/myflaskapp/myflaskapp.wsgi'.
Traceback (most recent call last):
  File "/myflaskapp/myflaskapp.wsgi", line 10, in <module>
    from myflaskapp import app as application
  File "/myflaskapp/__init__.py", line 41, in <module>
    from myflaskapp import routes
  File "/myflaskapp/routes.py", line 23, in <module>
    from myflaskapp.helper import *
  File "/myflaskapp/helper.py", line 19, in <module>
    from pymongo import MongoClient
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/__init__.py", line 93, in <module>
    from pymongo.mongo_client import MongoClient
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/mongo_client.py", line 62, in <module>
    from pymongo import (
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/uri_parser.py", line 34, in <module>
    from pymongo.client_options import _parse_ssl_options
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/client_options.py", line 27, in <module>
    from pymongo.pool import PoolOptions
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/pool.py", line 79, in <module>
    from pymongo.network import command, receive_message
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/network.py", line 35, in <module>
    from pymongo import _csot, helpers, message, ssl_support
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/ssl_support.py", line 25, in <module>
    import pymongo.pyopenssl_context as _ssl
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/pyopenssl_context.py", line 29, in <module>
    from OpenSSL import SSL as _SSL
  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'
mod_wsgi (pid=43050): Failed to exec Python script file '/myflaskapp/myflaskapp.wsgi'.
mod_wsgi (pid=43050): Exception occurred processing WSGI script '/myflaskapp/myflaskapp.wsgi'.
Traceback (most recent call last):
  File "/myflaskapp/myflaskapp.wsgi", line 10, in <module>
    from myflaskapp import app as application
  File "/myflaskapp/__init__.py", line 41, in <module>
    from myflaskapp import routes
  File "/myflaskapp/routes.py", line 23, in <module>
    from myflaskapp.helper import *
  File "/myflaskapp/helper.py", line 19, in <module>
    from pymongo import MongoClient
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/__init__.py", line 93, in <module>
    from pymongo.mongo_client import MongoClient
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/mongo_client.py", line 62, in <module>
    from pymongo import (
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/uri_parser.py", line 34, in <module>
    from pymongo.client_options import _parse_ssl_options
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/client_options.py", line 27, in <module>
    from pymongo.pool import PoolOptions
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/pool.py", line 79, in <module>
    from pymongo.network import command, receive_message
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/network.py", line 35, in <module>
    from pymongo import _csot, helpers, message, ssl_support
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/ssl_support.py", line 25, in <module>
    import pymongo.pyopenssl_context as _ssl
  File "/myflaskapp/myenv/lib/python3.11/site-packages/pymongo/pyopenssl_context.py", line 29, in <module>
    from OpenSSL import SSL as _SSL
  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'

I have already run the below which were the suggested ways to solve the error.

pip install --upgrade pymongo pyopenssl

and also followed steps in the other articles like - AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'

Upvotes: 0

Views: 364

Answers (1)

Wei Wang
Wei Wang

Reputation: 115

Ran into the same error today, with pip --version.

Deleting the Python3 OpenSSL library files may solve the problem, but it should be done properly using the Ubuntu package manager apt:

sudo apt purge python3-openssl
sudo apt autoremove

This seems to be an old question. But still - hope this helps.

Upvotes: 0

Related Questions