我正在尝试使用命令在本地运行我的django 1.6项目(从openshift下载): $ python3.3 manage.py runserver
并收到错误:
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0xb691592c>
Traceback (most recent call last):
File "/usr/local/lib/python3.3/dist-packages/Django-1.6-py3.3.egg/django/utils/module_loading.py", line 21, in import_by_path
module = import_module(module_path)
File "/usr/lib/python3.3/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'wsgi'
During handling of the above exception, another exception occurred:
............................................................
..........................................................
...................................................
File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
django.core.exceptions.ImproperlyConfigured: WSGI application 'wsgi.application' could not be loaded; Error importing module wsgi: "No module named 'wsgi'"
但是在openshift.com上它可行。如何在本地运行它以进行快速调试?
答案 0 :(得分:5)
这个问题迟到了,但我遇到了同样的问题,并提出了另一种解决方案。
我添加了
sys.path.append(os.path.join(os.path.dirname(__file__), '..', ".."))
在openshift / manage.py中
和
mysite / wsgi.py中的其他
else:
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
答案 1 :(得分:0)
如果应用程序设置的层次结构类似于standard example,则必须进行以下更改:
在manage.py中:
# Add the root to the path to support local testing with
# runserver / WSGI_APPLICATION
sys.path.append(os.path.join(os.path.dirname(__file__), '..','..'))
在settings.py中:
WSGI_APPLICATION = 'wsgi.application.application'
我相信WSGI_APPLICATION变量仅供runserver使用,因此不会影响已部署的应用程序。