Reputation: 21
I'm trying to run my django 1.6 project locally (downloaded from openshift) with command: $python3.3 manage.py runserver
and get error:
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'"
But on openshift.com it works. How can I run it locally for fast debugging?
Upvotes: 2
Views: 1079
Reputation: 383
Little late to the question but I had the same issue and came up with an alternative solution.
I added
sys.path.append(os.path.join(os.path.dirname(__file__), '..', ".."))
inside openshift/manage.py
and
an else in mysite/wsgi.py
else:
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Upvotes: 5
Reputation: 991
With an application set up with a hierarchy similar to the standard example, I had to make the following changes:
In 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__), '..','..'))
In settings.py:
WSGI_APPLICATION = 'wsgi.application.application'
The WSGI_APPLICATION variable is only used by runserver, I believe, so doesn't affect the deployed application.
Upvotes: 0