【问题标题】:Apache2 not showing website after adding djoser, Internal Server Error 500添加 djoser 后 Apache2 未显示网站,内部服务器错误 500
【发布时间】:2020-01-03 22:54:55
【问题描述】:

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

环顾四周,并按照these 的说明获取实际错误。

产生如下

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 告诉我它已安装并且正在本地主机上运行。

【问题讨论】:

    标签: django apache django-rest-framework apache2 djoser


    【解决方案1】:

    我在

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

    但他们在吃饱后就走了

    $ sudo apachectl restart
    

    这值得一试。

    已编辑以包含来自 cmets 的实际解决方案:

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

    【讨论】:

    • 试过这个,没有任何效果。仍然收到同样的错误
    • 也值得看看你的 python 路径。 djoser 在哪里?我曾经遇到过将模块安装到 dist-packages 和 site-packages 的问题。
    • 如果它安装到不同的位置,它如何在本地主机和实时站点上正常工作?
    • 当您运行开发服务器时,apache 可能使用不同的 python 路径。
    • 是的,就是这样,apache被设置为项目的虚拟环境,而在虚拟环境中使用的python的python被破坏了。修复路径后解决了问题。如果您想用此信息更新您的答案,我将非常乐意接受。谢谢!
    猜你喜欢
    • 2016-08-31
    • 2011-08-08
    • 2015-09-30
    • 2018-11-15
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多