将djoser添加到我的Django应用中并在localhost上进行所有测试,效果很好。但是,在重新启动apache2(应用程序已添加到apache并可以正常运行)之后,它给出了Internal Server Error 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告诉我它已经安装并且可以在本地主机上工作。
答案 0 :(得分:1)
在
之后,我也看到了类似的错误$ sudo apachectl graceful
但是他们吃饱了就消失了
$ sudo apachectl restart
那可能值得尝试。
编辑后包含了评论中的实际解决方案:
另外,检查您的python路径。 djoser在哪里?我曾经在将模块安装到dist-packages和site-packages时遇到问题。并且在虚拟环境或不同用户的情况下,Apache可能会使用与运行开发服务器时所用路径不同的python路径。