Модуль с именем 'social_django' отсутствует, но установлен модуль 'social-auth-app-django'
Краткое изложение проблемы
Я создаю проект Django и пытаюсь установить интеграцию Auth0. Согласно документации Auth0, я установил библиотеку social-auth-app-django
, которая затем пошла и также установила social-auth-core
. Поэтому, пожалуйста, обратите внимание, что обе эти библиотеки установлены..
Вот мой вывод py -m pip list
, доказывающий, что это так:
Package Version
---------------------- ---------
asgiref 3.4.1
certifi 2021.10.8
cffi 1.15.0
charset-normalizer 2.0.7
colorama 0.4.4
cryptography 35.0.0
defusedxml 0.7.1
Django 3.2.9
ecdsa 0.17.0
idna 3.3
oauthlib 3.1.1
pip 21.3.1
pyasn1 0.4.8
pycparser 2.21
PyJWT 2.3.0
python-dotenv 0.19.2
python-jose 3.3.0
python-social-auth 0.3.6
python3-openid 3.2.0
pytz 2021.3
requests 2.26.0
requests-oauthlib 1.3.0
rsa 4.7.2
setuptools 57.4.0
six 1.16.0
social-auth-app-django 5.0.0
social-auth-core 4.1.0
sqlparse 0.4.2
urllib3 1.26.7
Как вы можете видеть, я использую Django 3.2.9. Я также использую Python 3.10.
После выполнения всех шагов Auth0 я запустил py manage.py migrate
и получил следующее сообщение об ошибке:
ModuleNotFoundError: No module named 'social_django'
Что я пробовал
Я пробовал удалять и переустанавливать библиотеки social-auth-app-django
и social-auth-core
несколько раз. Я также пробовал устанавливать библиотеки по отдельности вместо того, чтобы просто установить social-auth-app-django
. Я также пробовал устанавливать social-auth-app[django]
(используя скобки). Ничего не помогло.
В каждом сообщении, которое я могу найти в Интернете, говорится, что ОП должен установить библиотеку social-auth-app-django
и это должно решить их проблему. Но, как показано на рисунке, я полагаю, что уже сделал это. Поэтому, если нет другого способа установки библиотеки, мне нужно другое решение.
Любая помощь будет очень признательна. Спасибо!
Огромная заслуга @furas в комментариях, который помог указать мне правильное направление.
Решение: Переинициализируйте виртуальную среду, используя python 3.10 вместо python 3.8, и переустановите необходимые пакеты.
Пояснение: Проблема заключалась в том, что я случайно создал свой venv, используя python 3.8. Поэтому, даже если я успешно запустил py -m pip list
внутри venv 3.8, все мои пакеты все еще были установлены с использованием python 3.8. Поэтому, когда я попытался перейти на использование python 3.10, пакеты не были доступны для просмотра.