Do you have a BASE_DIR setting in your Django settings file? If you have come from an old Django version you may not have it.
When it isn’t present then runmodwsgi has to make some guesses about where your project root is and that can be wrong if you have reorganised your settings file to be more than the normal single level as you appear to have done. Add to your Django settings module: import os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) but change it so that BASE_DIR works out as the directory above that containing your project such that importing the package for the project will work. Likely you want: import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) Graham > On 16 Dec 2016, at 1:01 PM, Peter Andrews <[email protected]> wrote: > > As you suspected it gets further with Django 1.8 (upgraded temporariliy for > testing) but still has a problem. It is possible that this is an artifact of > the upgrade. Tomorrow at work I will uninstall and reinstall the > mod_wsgi-httpd and mod_wsgi with Django 1.8 already installed in case it > makes a difference. > > (venv) vagrant@production24:/rmove/server$ python manage.py runmodwsgi > --log-to-terminal --settings mobilesurvey.settings.dev_pca > /rmove/venv/lib/python2.7/site-packages/crispy_forms/utils.py:25: > RemovedInDjango19Warning: memoize wrapper is deprecated and will be removed > in Django 1.9. Use django.utils.lru_cache instead. > default_field_template = memoize(default_field_template, {}, 1) > > Successfully ran command. > Server URL : http://localhost:8000/ <http://localhost:8000/> > Server Root : /tmp/mod_wsgi-localhost:8000:1000 > Server Conf : /tmp/mod_wsgi-localhost:8000:1000/httpd.conf > Error Log File : /dev/stderr (warn) > Request Capacity : 5 (1 process * 5 threads) > Request Timeout : 60 (seconds) > Startup Timeout : 15 (seconds) > Queue Backlog : 100 (connections) > Queue Timeout : 45 (seconds) > Server Capacity : 20 (event/worker), 20 (prefork) > Server Backlog : 500 (connections) > Locale Setting : en_US.UTF-8 > [Fri Dec 16 01:47:23.868572 2016] [mpm_event:notice] [pid 5603:tid > 140388886972224] AH00489: Apache/2.4.23 (Unix) mod_wsgi/4.5.10 Python/2.7 > configured -- resuming normal operations > [Fri Dec 16 01:47:23.869383 2016] [core:notice] [pid 5603:tid > 140388886972224] AH00094: Command line: 'httpd (mod_wsgi-express) -f > /tmp/mod_wsgi-localhost:8000:1000/httpd.conf -D > MOD_WSGI_MPM_ENABLE_EVENT_MODULE -D MOD_WSGI_MPM_EXISTS_EVENT_MODULE -D > MOD_WSGI_MPM_EXISTS_WORKER_MODULE -D MOD_WSGI_MPM_EXISTS_PREFORK_MODULE -D > FOREGROUND' > [Fri Dec 16 01:47:26.770793 2016] [wsgi:error] [pid 5612:tid 140388886972224] > mod_wsgi (pid=5612): Target WSGI script > '/tmp/mod_wsgi-localhost:8000:1000/handler.wsgi' cannot be loaded as Python > module. > [Fri Dec 16 01:47:26.771892 2016] [wsgi:error] [pid 5612:tid 140388886972224] > mod_wsgi (pid=5612): Exception occurred processing WSGI script > '/tmp/mod_wsgi-localhost:8000:1000/handler.wsgi'. > [Fri Dec 16 01:47:26.772134 2016] [wsgi:error] [pid 5612:tid 140388886972224] > Traceback (most recent call last): > [Fri Dec 16 01:47:26.772377 2016] [wsgi:error] [pid 5612:tid 140388886972224] > File "/tmp/mod_wsgi-localhost:8000:1000/handler.wsgi", line 94, in <module> > [Fri Dec 16 01:47:26.772636 2016] [wsgi:error] [pid 5612:tid 140388886972224] > recorder_directory=recorder_directory) > [Fri Dec 16 01:47:26.772852 2016] [wsgi:error] [pid 5612:tid 140388886972224] > File "/rmove/venv/lib/python2.7/site-packages/mod_wsgi/server/__init__.py", > line 1390, in __init__ > [Fri Dec 16 01:47:26.777427 2016] [wsgi:error] [pid 5612:tid 140388886972224] > exec(code, self.module.__dict__) > [Fri Dec 16 01:47:26.777703 2016] [wsgi:error] [pid 5612:tid 140388886972224] > File "/rmove/server/conf/2_4/wsgi.py", line 15, in <module> > [Fri Dec 16 01:47:26.779935 2016] [wsgi:error] [pid 5612:tid 140388886972224] > application = get_wsgi_application() > [Fri Dec 16 01:47:26.780138 2016] [wsgi:error] [pid 5612:tid 140388886972224] > File "/rmove/venv/lib/python2.7/site-packages/django/core/wsgi.py", line > 14, in get_wsgi_application > [Fri Dec 16 01:47:26.782617 2016] [wsgi:error] [pid 5612:tid 140388886972224] > django.setup() > [Fri Dec 16 01:47:26.782860 2016] [wsgi:error] [pid 5612:tid 140388886972224] > File "/rmove/venv/lib/python2.7/site-packages/django/__init__.py", line 17, > in setup > [Fri Dec 16 01:47:26.784929 2016] [wsgi:error] [pid 5612:tid 140388886972224] > configure_logging(settings.LOGGING_CONFIG, settings.LOGGING) > [Fri Dec 16 01:47:26.785208 2016] [wsgi:error] [pid 5612:tid 140388886972224] > File "/rmove/venv/lib/python2.7/site-packages/django/conf/__init__.py", > line 48, in __getattr__ > [Fri Dec 16 01:47:26.788301 2016] [wsgi:error] [pid 5612:tid 140388886972224] > self._setup(name) > [Fri Dec 16 01:47:26.788556 2016] [wsgi:error] [pid 5612:tid 140388886972224] > File "/rmove/venv/lib/python2.7/site-packages/django/conf/__init__.py", > line 44, in _setup > [Fri Dec 16 01:47:26.789697 2016] [wsgi:error] [pid 5612:tid 140388886972224] > self._wrapped = Settings(settings_module) > [Fri Dec 16 01:47:26.789995 2016] [wsgi:error] [pid 5612:tid 140388886972224] > File "/rmove/venv/lib/python2.7/site-packages/django/conf/__init__.py", > line 92, in __init__ > [Fri Dec 16 01:47:26.791282 2016] [wsgi:error] [pid 5612:tid 140388886972224] > mod = importlib.import_module(self.SETTINGS_MODULE) > [Fri Dec 16 01:47:26.791535 2016] [wsgi:error] [pid 5612:tid 140388886972224] > File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module > [Fri Dec 16 01:47:26.791824 2016] [wsgi:error] [pid 5612:tid 140388886972224] > __import__(name) > [Fri Dec 16 01:47:26.792094 2016] [wsgi:error] [pid 5612:tid 140388886972224] > ImportError: No module named mobilesurvey.settings.dev_pca > > > On Thu, Dec 15, 2016 at 6:44 PM, Graham Dumpleton <[email protected] > <mailto:[email protected]>> wrote: > I’ll have to do some tests. I haven’t ever tested with such an old Django > version. > > Graham > >> On 16 Dec 2016, at 10:30 AM, Peter Andrews <[email protected] >> <mailto:[email protected]>> wrote: >> >> Graham - thanks for providing such great tools! >> >> I am running Vagrant on Windows 10. >> >> I have an existing Python Django 1.7 application which works fine on a >> server-level apache instance or via manage.py runserver >> >> I followed instructions from Graham's post: >> http://blog.dscpl.com.au/2015/04/integrating-modwsgi-express-as-django.html >> <http://blog.dscpl.com.au/2015/04/integrating-modwsgi-express-as-django.html> >> and installed mod_wsgi-httpd and then mod_wsgi within my activated virtual >> environment >> >> My modules: >> >> $ pip freeze >> Django==1.7.1 >> django-crispy-forms==1.4.0 >> django-debug-toolbar==1.4 >> django-reversion==1.10.0 >> EasyProcess==0.2.2 >> funcsigs==1.0.2 >> mock==2.0.0 >> mod-wsgi==4.5.10 >> mod-wsgi-httpd==2.4.23.2 >> pbr==1.10.0 >> psycopg2==2.5.4 >> pytz==2015.2 >> PyVirtualDisplay==0.2 >> PyYAML==3.11 >> selenium==2.53.6 >> six==1.10.0 >> sqlparse==0.1.19 >> ua-parser==0.3.6 >> user-agents==0.3.2 >> (venv) vagrant@production24:/rmove/server$ >> >> I get this error: >> >> (venv) vagrant@production24:/rmove/server$ python manage.py runmodwsgi >> Successfully ran command. >> Traceback (most recent call last): >> File "manage.py", line 10, in <module> >> execute_from_command_line(sys.argv) >> File >> "/rmove/venv/lib/python2.7/site-packages/django/core/management/__init__.py", >> line 385, in execute_from_command_line >> utility.execute() >> File >> "/rmove/venv/lib/python2.7/site-packages/django/core/management/__init__.py", >> line 377, in execute >> self.fetch_command(subcommand).run_from_argv(self.argv) >> File >> "/rmove/venv/lib/python2.7/site-packages/django/core/management/base.py", >> line 288, in run_from_argv >> self.execute(*args, **options.__dict__) >> File >> "/rmove/venv/lib/python2.7/site-packages/django/core/management/base.py", >> line 338, in execute >> output = self.handle(*args, **options) >> File >> "/rmove/venv/lib/python2.7/site-packages/mod_wsgi/server/management/commands/runmodwsgi.py", >> line 108, in handle >> 'start-server', args, options) >> File >> "/rmove/venv/lib/python2.7/site-packages/mod_wsgi/server/__init__.py", line >> 2587, in _cmd_setup_server >> if not options['host']: >> KeyError: 'host' >> >> >> mod_wsgi-express is in high spirits: 'My web site runs on Malt Whiskey(:' >> (venv) vagrant@production24:/rmove/server$ mod_wsgi-express start-server >> Server URL : http://localhost:8000/ <http://localhost:8000/> >> Server Root : /tmp/mod_wsgi-localhost:8000:1000 >> Server Conf : /tmp/mod_wsgi-localhost:8000:1000/httpd.conf >> Error Log File : /tmp/mod_wsgi-localhost:8000:1000/error_log (warn) >> Request Capacity : 5 (1 process * 5 threads) >> Request Timeout : 60 (seconds) >> Startup Timeout : 15 (seconds) >> Queue Backlog : 100 (connections) >> Queue Timeout : 45 (seconds) >> Server Capacity : 20 (event/worker), 20 (prefork) >> Server Backlog : 500 (connections) >> Locale Setting : en_US.UTF-8 >> >> >> Thanks for any help you can provide. >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "modwsgi" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] >> <mailto:[email protected]>. >> To post to this group, send email to [email protected] >> <mailto:[email protected]>. >> Visit this group at https://groups.google.com/group/modwsgi >> <https://groups.google.com/group/modwsgi>. >> For more options, visit https://groups.google.com/d/optout >> <https://groups.google.com/d/optout>. > > > -- > You received this message because you are subscribed to the Google Groups > "modwsgi" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To post to this group, send email to [email protected] > <mailto:[email protected]>. > Visit this group at https://groups.google.com/group/modwsgi > <https://groups.google.com/group/modwsgi>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. > > > -- > You received this message because you are subscribed to the Google Groups > "modwsgi" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To post to this group, send email to [email protected] > <mailto:[email protected]>. > Visit this group at https://groups.google.com/group/modwsgi > <https://groups.google.com/group/modwsgi>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- You received this message because you are subscribed to the Google Groups "modwsgi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/modwsgi. For more options, visit https://groups.google.com/d/optout.
