(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] <javascript:>> > 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-with-django.html >> >> http://blog.dscpl.com.au/2015/04/integrating-modwsgi-express-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] <javascript:>. > To post to this group, send email to [email protected] <javascript:> > . > 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.
