错误 运行 wsgi 应用程序:ModuleNotFoundError
Error running wsgi application: ModuleNotFoundError
我正在尝试在 pythonanywhere 上托管我的本地网络应用程序。 [Django 和网络开发初学者]
我在启动应用程序时遇到以下错误:
Error running WSGI application
2021-04-26 21:46:32,020: ModuleNotFoundError: No module named 'myapp'
2021-04-26 21:46:32,020: File "/var/www/username_pythonanywhere_com_wsgi.py", line 16, in <module>
2021-04-26 21:46:32,020: application = get_wsgi_application()
2021-04-26 21:46:32,020:
2021-04-26 21:46:32,020: File "/home/username/.virtualenvs/web-virtualenv/lib/python3.8/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
2021-04-26 21:46:32,020: django.setup(set_prefix=False)
2021-04-26 21:46:32,020:
2021-04-26 21:46:32,020: File "/home/username/.virtualenvs/web-virtualenv/lib/python3.8/site-packages/django/__init__.py", line 19, in setup
2021-04-26 21:46:32,021: configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
2021-04-26 21:46:32,021:
2021-04-26 21:46:32,021: File "/home/username/.virtualenvs/web-virtualenv/lib/python3.8/site-packages/django/conf/__init__.py", line 82, in __getattr__
2021-04-26 21:46:32,021: self._setup(name)
2021-04-26 21:46:32,021:
2021-04-26 21:46:32,021: File "/home/username/.virtualenvs/web-virtualenv/lib/python3.8/site-packages/django/conf/__init__.py", line 69, in _setup
2021-04-26 21:46:32,021: self._wrapped = Settings(settings_module)
2021-04-26 21:46:32,021:
2021-04-26 21:46:32,021: File "/home/username/.virtualenvs/web-virtualenv/lib/python3.8/site-packages/django/conf/__init__.py", line 170, in __init__
2021-04-26 21:46:32,021: mod = importlib.import_module(self.SETTINGS_MODULE)
文件位置:
settings.py 文件位于:
/home/username/WebDev/Website/Django/MyApp/myapp/myapp
我已将“/var/www/username_pythonanywhere_com_wsgi.py”文件修改为:
"""
WSGI config for myapp project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/
"""
import os
import sys
sys.path.append("/home/username/WebDev/Website/Django/MyApp/myapp")
os.environ('DJANGO_SETTINGS_MODULE', 'myapp.settings')
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
我在 Whosebug 上看过类似的问题,但仍然无法弄清楚我到底出了什么问题。
任何pointers/help将不胜感激。
从外观上看,文件夹结构似乎没问题。
您可能需要做的是将模块添加到您的 INSTALLED_APPS
设置中。
或者,如果您认为已安装的东西出现导入错误或模块未找到错误,那么您可能已将其安装到 Python 或 virtualenv 的版本中,您的代码不在 运行 中。如果未找到它是您代码的一部分,那么您的 Python 路径未设置,因此它无法看到您尝试导入的模块。参见 https://help.pythonanywhere.com/pages/DebuggingImportError/
错误已解决。
问题是 environ 不是一个函数而是一个过程参数,因此,像下面这样使用它是错误的原因。
os.environ('DJANGO_SETTINGS_MODULE', 'myapp.settings')
我将代码更改为:
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
错误已解决。
我正在尝试在 pythonanywhere 上托管我的本地网络应用程序。 [Django 和网络开发初学者]
我在启动应用程序时遇到以下错误:
Error running WSGI application
2021-04-26 21:46:32,020: ModuleNotFoundError: No module named 'myapp'
2021-04-26 21:46:32,020: File "/var/www/username_pythonanywhere_com_wsgi.py", line 16, in <module>
2021-04-26 21:46:32,020: application = get_wsgi_application()
2021-04-26 21:46:32,020:
2021-04-26 21:46:32,020: File "/home/username/.virtualenvs/web-virtualenv/lib/python3.8/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
2021-04-26 21:46:32,020: django.setup(set_prefix=False)
2021-04-26 21:46:32,020:
2021-04-26 21:46:32,020: File "/home/username/.virtualenvs/web-virtualenv/lib/python3.8/site-packages/django/__init__.py", line 19, in setup
2021-04-26 21:46:32,021: configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
2021-04-26 21:46:32,021:
2021-04-26 21:46:32,021: File "/home/username/.virtualenvs/web-virtualenv/lib/python3.8/site-packages/django/conf/__init__.py", line 82, in __getattr__
2021-04-26 21:46:32,021: self._setup(name)
2021-04-26 21:46:32,021:
2021-04-26 21:46:32,021: File "/home/username/.virtualenvs/web-virtualenv/lib/python3.8/site-packages/django/conf/__init__.py", line 69, in _setup
2021-04-26 21:46:32,021: self._wrapped = Settings(settings_module)
2021-04-26 21:46:32,021:
2021-04-26 21:46:32,021: File "/home/username/.virtualenvs/web-virtualenv/lib/python3.8/site-packages/django/conf/__init__.py", line 170, in __init__
2021-04-26 21:46:32,021: mod = importlib.import_module(self.SETTINGS_MODULE)
文件位置:
settings.py 文件位于:
/home/username/WebDev/Website/Django/MyApp/myapp/myapp
我已将“/var/www/username_pythonanywhere_com_wsgi.py”文件修改为:
"""
WSGI config for myapp project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/
"""
import os
import sys
sys.path.append("/home/username/WebDev/Website/Django/MyApp/myapp")
os.environ('DJANGO_SETTINGS_MODULE', 'myapp.settings')
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
我在 Whosebug 上看过类似的问题,但仍然无法弄清楚我到底出了什么问题。
任何pointers/help将不胜感激。
从外观上看,文件夹结构似乎没问题。
您可能需要做的是将模块添加到您的 INSTALLED_APPS
设置中。
或者,如果您认为已安装的东西出现导入错误或模块未找到错误,那么您可能已将其安装到 Python 或 virtualenv 的版本中,您的代码不在 运行 中。如果未找到它是您代码的一部分,那么您的 Python 路径未设置,因此它无法看到您尝试导入的模块。参见 https://help.pythonanywhere.com/pages/DebuggingImportError/
错误已解决。
问题是 environ 不是一个函数而是一个过程参数,因此,像下面这样使用它是错误的原因。
os.environ('DJANGO_SETTINGS_MODULE', 'myapp.settings')
我将代码更改为:
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
错误已解决。