【发布时间】:2021-12-31 01:55:56
【问题描述】:
问题摘要
我正在创建一个 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](使用括号)。没有任何效果。
我可以在网上找到的每篇文章都在告诉 OP 安装 social-auth-app-django 库,这应该可以解决他们的问题。但正如所证明的那样,我相信我已经做到了。因此,除非我需要以不同的方式安装库,否则我需要不同的解决方案。
我们将不胜感激任何和所有的帮助。谢谢!
【问题讨论】:
-
您可能遇到了最常见的问题——您可能已经安装了两个 Python,并且您在一个 Python 中安装了模块,但您使用其他 Python 运行代码。 Python 不共享模块,您必须在正确的 Python 中安装模块。在代码中,您可以运行
print( sys.executable )来获取/full/path/to/python,然后运行/full/path/to/python -m pip install ...在此Python 中安装模块。 -
@furas 有趣...当我打印 sys.executable 时,它会打印出我的 python 3.8 可执行文件的路径。但是每当我运行 python 命令时,我都使用 python 3.10 前缀设置了所有内容。这种差异是否来自 Django 项目设置?如何使用 Python 3.10 可执行文件执行项目?
-
知道了!我使用 python 3.8 而不是 3.10 创建了我的虚拟环境。因此,所有内容而不是虚拟环境都没有安装正确的版本。感谢@furas 为我指明了正确的方向!
标签: python django python-social-auth social-auth-app-django