Here's the full traceback: [Sat Jul 01 08:48:59.384492 2017] [wsgi:error] [pid 15499:tid 139843043293056] mod_wsgi (pid=15499): Target WSGI script '/tmp/mod_wsgi-localhost:8000:1001/handler.wsgi' cannot be loaded as Python module.[Sat Jul 01 08:48:59.384622 2017] [wsgi:error] [pid 15499:tid 139843043293056] mod_wsgi (pid=15499): Exception occurred processing WSGI script '/tmp/mod_wsgi-localhost:8000:1001/handler.wsgi'.[Sat Jul 01 08:48:59.384677 2017] [wsgi:error] [pid 15499:tid 139843043293056] Traceback (most recent call last):[Sat Jul 01 08:48:59.384855 2017] [wsgi:error] [pid 15499:tid 139843043293056] File "/tmp/mod_wsgi-localhost:8000:1001/handler.wsgi", line 94, in <module>[Sat Jul 01 08:48:59.384888 2017] [wsgi:error] [pid 15499:tid 139843043293056] recorder_directory=recorder_directory)[Sat Jul 01 08:48:59.385446 2017] [wsgi:error] [pid 15499:tid 139843043293056] File "/home/anupam/ENV/lib/python3.4/site-packages/mod_wsgi/server/__init__.py", line 1374, in __init__[Sat Jul 01 08:48:59.385483 2017] [wsgi:error] [pid 15499:tid 139843043293056] __import__(entry_point) [Sat Jul 01 08:48:59.385523 2017] [wsgi:error] [pid 15499:tid 139843043293056] ImportError: No module named 'wsgi'
*import mysite.wsgi* does not give any errors (when run from the shell invoked from the same dir) In production.py: BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) thanks, Anupam On Sat, Jul 1, 2017 at 3:50 PM, Graham Dumpleton <[email protected] > wrote: > I would need to see the full traceback along with the error message. > > Also, if in the same directory you run the 'python' interpreter and go: > > import mysite.wsgi > > what happens? > > And, what do you have BASE_DIR set to in production.py? > > Graham > > On 1 Jul 2017, at 7:03 PM, Anupam Jain <[email protected]> wrote: > > (using mysite instead of projectname on this thread now, to be consistent > with the docs) > > I think I have read all the relevant parts of the doc > <http://blog.dscpl.com.au/2015/04/using-modwsgi-express-with-django.html> now > and followed it accurately but still getting the following error: > > ImportError: No module named 'wsgi' > > > Directory Structure: > > mysite > - myapp > - views.py > - other files > - mysite > > - wsgi.py > - __init__.py > settings > - __init__.py > - base.py > - production.py > - development.py > > > Running the following command from: home/username/mysite/ > > mod_wsgi-express start-server wsgi.py --application-type module > mysite.wsgi --log-to-terminal > > wsgi.py: > > import os > # import sys > from django.core.wsgi import get_wsgi_application > > # sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), > "../../"))) > # sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), > "../"))) > os.environ.setdefault("DJANGO_SETTINGS_MODULE", > "mysite.settings.production") > > application = get_wsgi_application() > > On Saturday, July 1, 2017 at 1:24:33 PM UTC+5:30, Graham Dumpleton wrote: >> >> >> On 1 Jul 2017, at 5:52 PM, Anupam Jain <[email protected]> wrote: >> >> Answers inline, thanks >> >> On Saturday, July 1, 2017 at 1:02:07 PM UTC+5:30, Graham Dumpleton wrote: >>> >>> >>> On 1 Jul 2017, at 4:17 PM, Anupam Jain <[email protected]> wrote: >>> >>> First of all - thanks for mod_wsgi express! >>> >>> This <http://blog.dscpl.com.au/2015/04/introducing-modwsgi-express.html> >>> post says "As to the configuration of Apache, there actually wasn't >>> any." >>> >>> *Is it ok to assume that I dont need to do any configuration on Apache >>> at all (as in nothing in conf-enabled/available and >>> sites-enabled/available)?* (That sounds to be too good to be true so >>> thought to check) >>> >>> >>> Do not touch any system Apache configuration files under /etc/apache2, >>> /etc/httpd or whatever directory it is that your operating systems puts the >>> Apache configuration. When you use mod_wsgi-express it completely ignores >>> them, does not modify them, nor use them in any way. >>> >> >> *Thats great to know * >> >>> >>> >>> I have setup everything for mod_wsgi express and getting the error >>> "ImportError: >>> No module named '(projectname)'" >>> >>> >>> What command did you run and what arguments to mod_wsgi-express? >>> >> >> *I used: mod_wsgi-express start-server wsgi.py * >> >>> >>> If you get an error with that exact message, then it indicates you >>> copied some template for something from somewhere where you were expected >>> to replace '(projectname)' with a different value for your project. Did you >>> do that? Or is this not actually the error message you go. >>> >> >> *Thats not the exact message. I meant that its searching for the high >> level directory with the Django project name (directory structure below)* >> >>> >>> When you run mod_wsgi-express the directory you run mod_wsgi-express in >>> should be added to the Python module search path, so as long as any modules >>> can be imported from that location you should be good. If that shouldn't be >>> the base directory for imports of your projects, you can use >>> --working-directory option to override it, or use the --python-path option >>> to specify additional directories to search for modules. >>> >>> So what is the directory layout for your project, which directory are >>> you running mod_wsgi-express from and with what arguments. >>> >> >> directory is something like this >> >> projectname >> - appname >> - views.py >> - other files >> - projectname >> - wsgi.py >> >> running mod_wsgi-express from /home/username/projectname/projectname >> >> >> Wrong directory to run it from, plus you need extra arguments. >> >> Read those other blogs posts I have linked to about using it with Django. >> >> Once you have tried what is talked about in those, if still have issues >> let me know. >> >> Graham >> >> >>> This is not the one caused by circular imports but something to do with >>> setting the path somewhere I think (as I learnt from some SO posts) but not >>> entirely clear about it >>> >>> I did setup a django.conf in Apache's conf-enabled, so I am suspecting >>> that may be conflicting with something. >>> >>> >>> It shouldn't as it will be ignored. >>> >>> If you are using Django, you should perhaps look at: >>> >>> http://blog.dscpl.com.au/2015/04/using-modwsgi-express-wit >>> h-django.html >>> http://blog.dscpl.com.au/2015/04/integrating-modwsgi-expre >>> ss-as-django.html >>> >>> Also worthwhile reading: >>> >>> http://blog.dscpl.com.au/2015/05/using-modwsgi-express-as- >>> development.html >>> >>> Note that if you have inherited an old Django code base which hasn't >>> been updated correctly so the settings module includes settings defined in >>> newer Django versions, and you have restructured your application code so >>> the settings module is now at a different directory level, and you are >>> using the method of integrating mod_wsgi-express into Django itself, you >>> may also have issues with the settings module not being found when being >>> imported. >>> >>> So also indicate what version of Django your project code was originally >>> created using. >>> >> >> The project was created on Django 1.10.2 and I am now moving it from dev >> to prod (GCP, Debian). Installed the same Django version on prod as well. >> I'll read the above Django posts as well but yes, I did create a settings >> directory under projectname/projectname which includes different versions >> of settings for dev and prod. I have set the environment variable for >> settings in the virtualenv's activate script. Also, os.environ.setdefault() >> is changed accordingly in wsgi.py >> >>> >>> Graham >>> >>> >> -- >> 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. >> >> >> > -- > 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. > > > -- > You received this message because you are subscribed to a topic in the > Google Groups "modwsgi" group. > To unsubscribe from this topic, visit https://groups.google.com/d/to > pic/modwsgi/_nUEp1WiRH4/unsubscribe. > To unsubscribe from this group and all its topics, 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. > -- "What is meditation?" (http://www.heartfulness.org/) -- 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.
