[AttributeError]: Module 'collections' has no attribute 'MutableMapping'

<!-- Summary. -->

## Expected Result

Should not result this error and run flask server successfully or at-least suggest upgrading or downgrading any dependency if that's the issue (using pipdeptree currently).

<!-- What you expected. -->

## Actual Result

<!-- What happened instead. -->

```bash
Traceback (most recent call last):
  File "/Volumes/GopalSSD/EC/quillbook/server/upload_image.py", line 2, in <module>
    import pyrebase
  File "/Volumes/GopalSSD/EC/quillbook/server/venv/lib/python3.12/site-packages/pyrebase/__init__.py", line 1, in <module>
    from .pyrebase import initialize_app
  File "/Volumes/GopalSSD/EC/quillbook/server/venv/lib/python3.12/site-packages/pyrebase/pyrebase.py", line 1, in <module>
    import requests
  File "/Volumes/GopalSSD/EC/quillbook/server/venv/lib/python3.12/site-packages/requests/__init__.py", line 63, in <module>
    from . import utils
  File "/Volumes/GopalSSD/EC/quillbook/server/venv/lib/python3.12/site-packages/requests/utils.py", line 27, in <module>
    from .cookies import RequestsCookieJar, cookiejar_from_dict
  File "/Volumes/GopalSSD/EC/quillbook/server/venv/lib/python3.12/site-packages/requests/cookies.py", line 172, in <module>
    class RequestsCookieJar(cookielib.CookieJar, collections.MutableMapping):
                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'collections' has no attribute 'MutableMapping'
```

## Reproduction Steps

### Create upload_image.py flask server .py file

```python
from flask import Flask, request
import pyrebase

app = Flask(__name__)

config = {
    "apiKey": "",
    "authDomain": "",
    "databaseURL": "",
    "projectId": "",
    "storageBucket": "",
    "messagingSenderId": "",
    "appId": "",
    "measurementId": "",
    "serviceAccount": ""
}

firebase = pyrebase.initialize_app(config)
storage = firebase.storage()


@app.route("/", methods=["GET"])
def index():
    return "Welcome to Quillbook!"


@app.route("/upload", methods=["POST"])
def upload_file():
    if "file" not in request.files:
        return "No file part"

    file = request.files["file"]
    if file.filename == "":
        return "No selected file"

    filename = "uploads/" + str(file.filename)
    storage.child(filename).put(file)

    return "File uploaded successfully"
```

### Once created, run it:

```python
python3 upload_image.py
```

## System Information and Dep. Tree

```bash
Python==3.12.2
Flask==3.0.2                                                                                                                                    
├── blinker [required: >=1.6.2, installed: 1.7.0]                                                                                               
├── click [required: >=8.1.3, installed: 8.1.7]                                                                                                 
├── itsdangerous [required: >=2.1.2, installed: 2.1.2]                                                                                          
├── Jinja2 [required: >=3.1.2, installed: 3.1.3]                                                                                                
│   └── MarkupSafe [required: >=2.0, installed: 2.1.5]                                                                                          
└── Werkzeug [required: >=3.0.0, installed: 3.0.1]                                                                                              
    └── MarkupSafe [required: >=2.1.1, installed: 2.1.5]                                                                                        
pip==24.0                                                                                                                                       
pipdeptree==2.16.1                                                                                                                              
Pyrebase==3.0.27                                                                                                                                
├── gcloud [required: ==0.17.0, installed: 0.17.0]                                                                                              
│   ├── googleapis-common-protos [required: Any, installed: 1.63.0]                                                                             
│   │   └── protobuf [required: >=3.19.5,<5.0.0.dev0,!=4.21.5,!=4.21.4,!=4.21.3,!=4.21.2,!=4.21.1,!=3.20.1,!=3.20.0, installed: 4.25.3]         
│   ├── httplib2 [required: >=0.9.1, installed: 0.22.0]                                                                                         
│   │   └── pyparsing [required: >=2.4.2,<4,!=3.0.3,!=3.0.2,!=3.0.1,!=3.0.0, installed: 3.1.2]                                                  
│   ├── oauth2client [required: >=2.0.1, installed: 3.0.0]                                                                                      
│   │   ├── httplib2 [required: >=0.9.1, installed: 0.22.0]                                                                                     
│   │   │   └── pyparsing [required: >=2.4.2,<4,!=3.0.3,!=3.0.2,!=3.0.1,!=3.0.0, installed: 3.1.2]                                              
│   │   ├── pyasn1 [required: >=0.1.7, installed: 0.5.1]                                                                                        
│   │   ├── pyasn1-modules [required: >=0.0.5, installed: 0.3.0]                                                                                
│   │   │   └── pyasn1 [required: >=0.4.6,<0.6.0, installed: 0.5.1]                                                                             
│   │   ├── rsa [required: >=3.1.4, installed: 4.9]                                                                                                                                             
│   │   │   └── pyasn1 [required: >=0.1.3, installed: 0.5.1]                                                                                    
│   │   └── six [required: >=1.6.1, installed: 1.16.0]      
│   ├── protobuf [required: >=3.0.0b2,!=3.0.0.b2.post1, installed: 4.25.3]                                                                                                                                                   
│   └── six [required: Any, installed: 1.16.0]                                                                                                  
├── oauth2client [required: ==3.0.0, installed: 3.0.0]  
│   ├── httplib2 [required: >=0.9.1, installed: 0.22.0]                             
│   │   └── pyparsing [required: >=2.4.2,<4,!=3.0.3,!=3.0.2,!=3.0.1,!=3.0.0, installed: 3.1.2]                                                                                                                               
│   ├── pyasn1 [required: >=0.1.7, installed: 0.5.1]                                
│   ├── pyasn1-modules [required: >=0.0.5, installed: 0.3.0]                        
│   │   └── pyasn1 [required: >=0.4.6,<0.6.0, installed: 0.5.1]                                 
│   ├── rsa [required: >=3.1.4, installed: 4.9]                                                 
│   │   └── pyasn1 [required: >=0.1.3, installed: 0.5.1]                                        
│   └── six [required: >=1.6.1, installed: 1.16.0]                                                            
├── pycryptodome [required: ==3.4.3, installed: 3.4.3]                                                                                                                                          
├── python-jwt [required: ==2.0.1, installed: 2.0.1]                                                                                                                                            
│   └── jws [required: >=0.1.3, installed: 0.1.3]                                                             
├── requests [required: ==2.11.1, installed: 2.11.1]                                                          
└── requests-toolbelt [required: ==0.7.0, installed: 0.7.0]                                                   
    └── requests [required: >=2.0.1,<3.0.0, installed: 2.11.1]                                                
urllib3==2.2.1                       
```



You're using requests 2.11 which is ancient. That's why you're encountering this. Upgrade the version and it will go away