【问题标题】:WSGI cannot be loaded as Python moduleWSGI 不能作为 Python 模块加载
【发布时间】:2017-10-13 13:40:19
【问题描述】:

我收到了这个错误

'path-to/wsgi.py' 不能作为 Python 模块加载。

在加载许多 Python / Django 项目之前,我从未拥有过

mkdir directory
cd directory
virtualenv env 
env/bin/pip install -r requirements.txt 

然后在文件中进行FTP,然后

env/bin/python manage.py migrate
env/bin/python manage.py collectstatic
env/bin/python manage.py createsuperuser

今天它不工作。我已经阅读了许多具有类似问题的帖子,但它们似乎是由于不同版本的 python 造成的。我的不是。任何想法。

添加了EDIT Traceback

 mod_wsgi (pid=8982): Target WSGI script '/var/www/mattscott/mainapp/wsgi.py' cannot be loaded as Python module.
 mod_wsgi (pid=8982): Exception occurred processing WSGI script '/var/www/mattscott/mainapp/wsgi.py'.
 Traceback (most recent call last):
   File "/var/www/mattscott/mainapp/wsgi.py", line 16, in <module>
     application = get_wsgi_application()
   File "/var/www/mattscott/env/lib/python2.7/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
     django.setup(set_prefix=False)
   File "/var/www/mattscott/env/lib/python2.7/site-packages/django/__init__.py", line 22, in setup
     configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
   File "/var/www/mattscott/env/lib/python2.7/site-packages/django/conf/__init__.py", line 53, in __getattr__
     self._setup(name)
   File "/var/www/mattscott/env/lib/python2.7/site-packages/django/conf/__init__.py", line 41, in _setup
     self._wrapped = Settings(settings_module)
   File "/var/www/mattscott/env/lib/python2.7/site-packages/django/conf/__init__.py", line 97, in __init__
     mod = importlib.import_module(self.SETTINGS_MODULE)
   File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
     __import__(name)
   ImportError: No module named mainapp.settings

【问题讨论】:

  • 请显示您遇到该错误时正在运行的确切命令、完整回溯以及 wsgi 文件本身的代码。
  • 正如您所看到的,您可能正在使用 mod_wsgi,因为您收到的错误消息很少,请提供完整的错误以及 Apache 错误日志中的任何回溯。还可以尝试在 Django 设置文件中临时启用 DEBUG 以查看是否有效。
  • DEBUG = True 已设置,但出现 500 错误

标签: python django python-2.7 django-wsgi


【解决方案1】:

找到了解决方案,但我认为这是其他问题的症状(我希望 Graham 会解释)。

我已添加:

path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if path not in sys.path:
    sys.path.append(path)

wsgi.py

【讨论】:

    猜你喜欢
    • 2020-05-17
    • 2013-08-27
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-18
    • 2021-11-28
    • 2016-10-25
    相关资源
    最近更新 更多