添加 djoser 后 Apache2 不显示网站,内部服务器错误 500

Apache2 not showing website after adding djoser, Internal Server Error 500

将 djoser 添加到我的 Django 应用程序并在本地主机上进行所有测试它工作正常。然而在重新启动 apache2 之后(应用程序已经添加到 apache 并且工作正常),它给出了内部服务器错误 500。

查看了正在发生的事情并遵循了 说明以获取实际错误。

产生了以下

Traceback (most recent call last):
  File "<path_to_app>/wsgi.py", line 21, in <module>
    application = get_wsgi_application()
  File "<path_to_app>/env/lib/python3.6/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
    django.setup(set_prefix=False)
  File "<path_to_app>/env/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "<path_to_app>/env/lib/python3.6/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "<path_to_app>/env/lib/python3.6/site-packages/django/apps/config.py", line 90, in create
    module = import_module(entry)
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'djoser'
mod_wsgi (pid=7989): Target WSGI script '<path_to_app>/wsgi.py' does not contain WSGI application 'application'.
mod_wsgi (pid=8126): Target WSGI script '<path_to_app>/wsgi.py' does not contain WSGI application 'application'.

我不知道为什么它说没有名为 'djoser' 的模块,python/pip 告诉我它已安装并且正在本地主机上工作。

我在

之后看到了类似的错误
$ sudo apachectl graceful 

但他们在一个完整的

之后就离开了
$ sudo apachectl restart

这可能值得一试。

编辑以包含来自评论的实际解决方案:

此外,请检查您的 python 路径。乔瑟尔在哪里?我曾经遇到过将模块安装到 dist-packages 与 site-packages 的问题。对于虚拟环境或不同的用户,当您 运行 开发服务器时,Apache 可能会使用与您正在使用的路径不同的 python 路径。