Prerequisites
Before installing django-allauth, ensure your environment meets the following requirements:Python
Python 3.8 or higher
Django
Django 4.2 or higher
If you’re using MySQL with InnoDB and the
utf8mb4 charset on versions lower than 5.7.7, you may need to adjust ACCOUNT_EMAIL_MAX_LENGTH due to index size limitations.Installation Methods
Choose your preferred package manager to install django-allauth:- pip
- Poetry
- Pipenv
Optional Dependencies
Understanding what each optional dependency provides:socialaccount - Social Authentication
socialaccount - Social Authentication
mfa - Multi-Factor Authentication
mfa - Multi-Factor Authentication
Required dependencies:
qrcode >= 7.0.0,<9fido2 >= 1.1.2,<3
- TOTP (Time-based One-Time Password)
- WebAuthn / Passkeys
- Recovery codes
saml - SAML 2.0 Support
saml - SAML 2.0 Support
Required dependencies:
python3-saml>=1.15.0,<2.0.0
headless - Headless API
headless - Headless API
Required dependencies:
pyjwt[crypto] >= 2.0,<3
- Single-page applications (React, Vue, Angular)
- Mobile applications
- Headless CMS integrations
openid - OpenID Support
openid - OpenID Support
Required dependencies:
python3-openid >= 3.0.8,<4
steam - Steam Authentication
steam - Steam Authentication
Required dependencies:
python3-openid >= 3.0.8,<4
Verification
Verify that django-allauth is installed correctly:Python & Django Version Matrix
django-allauth supports the following combinations:| Python Version | Django Versions |
|---|---|
| 3.8 | 4.2+ |
| 3.9 | 4.2+ |
| 3.10 | 4.2+, 5.0, 5.1, 5.2 |
| 3.11 | 4.2+, 5.0, 5.1, 5.2 |
| 3.12 | 4.2+, 5.0, 5.1, 5.2, 6.0 |
| 3.13 | 4.2+, 5.0, 5.1, 5.2, 6.0 |
django-allauth follows Django’s supported versions policy. Older versions may work but are not officially tested or supported.
Development Installation
For contributing to django-allauth or testing the latest features:Troubleshooting
ImportError: No module named 'allauth'
ImportError: No module named 'allauth'
Ensure django-allauth is installed in your active Python environment:If not listed, reinstall:
Version conflicts with other packages
Version conflicts with other packages
Check for conflicting dependencies:Consider using a virtual environment:
MySQL InnoDB index size errors
MySQL InnoDB index size errors
If using MySQL with InnoDB and This reduces the email field length to accommodate the larger character size in
utf8mb4 charset (versions < 5.7.7), add to your settings:settings.py
utf8mb4.What’s Next?
Quickstart Guide
Configure django-allauth and get your authentication system up and running
Introduction
Learn more about django-allauth features and architecture

Enables authentication with 100+ social providers including:oauthlib >= 3.3.0,<4requests >= 2.0.0,<3pyjwt[crypto] >= 2.0,<3