So,
in Python interpreter against virtual environment:
sys.version: '2.6.6 (r266:84292, Dec 26 2010, 22:31:48) \n[GCC 4.4.5]'
sys.prefix: '/usr'
and under mod_wsgi:
sys.version = '2.6.6 (r266:84292, Dec 26 2010, 22:48:11) \n[GCC 4.4.5]'
sys.prefix = '/usr'
lld mod_wsgi.so
ldd: ./mod_wsgi.so: No such file or directory
unset LD_LIBRARY_PATH
lld mod_wsgi.so
ldd: ./mod_wsgi.so: No such file or directory
ldd /usr/lib/apache2/modules/mod_wsgi.so | grep libpython:
libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00007fcdd55a5000)
Then in Python interpreter against virtual environment:
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named django
Then under mod_wsgi when I add
import os
print os.listdir('/some/path')
I get ['template', 'core', 'templatetags', 'dispatch', 'db', 'contrib',
'conf', 'http', 'bin', '__init__.py', 'utils', 'shortcuts', 'test',
'views', 'forms', 'middleware'] which is the content of the django
directory in the virtual env which path I indicated instead of /some/path.
Obviously the problem here seems to be the inability to import django but I
don't know what I should change. I should add that I created this virtual
env on a different system (with python 2.7) where import django works
against the virtual env (django is not installed in the system either) and
then deployed this virtual env on the Debian.
Thanks for your help.
On Thu, Nov 3, 2011 at 1:40 AM, Graham Dumpleton <[email protected]
> wrote:
> What do you get in Python interpreter run against virtual environment for:
>
> import sys
> sys.version
> sys.prefix
>
> Similarly, under mod_wsgi as described in:
>
>
> http://code.google.com/p/modwsgi/wiki/CheckingYourInstallation#Python_Installation_In_Use
>
> What do you get for:
>
> ldd mod_wsgi.so
>
> Ie. which run time libpythonX.Y.so is it finding.
>
>
> http://code.google.com/p/modwsgi/wiki/CheckingYourInstallation#Python_Shared_Library
>
> In Python interpreter against virtual environment run:
>
> import django
> django.__file__
>
> This will be a path to a file, take the directory part of that, ie.,
> drop __init__.py of the end, and in the same prefix/version test
> script above under mod_wsgi add:
>
> import os
> print os.listdir('/some/path')
>
> where /some/path is replaced with the directory that Django is installed
> in.
>
> If that fails, it indicates Apache user doesn't have read access down
> through all directories to where Django installed in virtual
> environment.
>
> Graham
>
> On 3 November 2011 08:02, karme <[email protected]> wrote:
> > Ok I thought I would try again from scratch using specific
> > instructions but you're right let's start from an actual config and
> > work our way from there.
> >
> > So I will start with what seems to be the closest configuration to
> > what I actually want to achieve:
> >
> > 1. The actual Apache configuration snippets for mod_wsgi you are
> > using:
> >
> > <VirtualHost someserver:80>
> > ServerName myvirtualhost
> >
> > DocumentRoot /path/to/my/project/apache/documents
> >
> > <Directory /path/to/my/project/apache/documents>
> > Order allow,deny
> > Allow from all
> > </Directory>
> >
> > # I comment this line so the server starts in embedded mode and I
> > get the errors in Apache error.log
> > # (I can't see any error in daemon mode)
> > #WSGIDaemonProcess django processes=2 threads=5 display-
> > name=myproject user=myuser group=mygroup
> > WSGIScriptAlias / /path/to/my/project/apache/settings.wsgi
> >
> > <Directory /path/to/my/project/apache>
> > #WSGIProcessGroup django
> > Order allow,deny
> > Allow from all
> > </Directory>
> > </VirtualHost>
> >
> > 2. The contents of your WSGI script file:
> >
> > import os
> > import sys
> >
> > root = os.path.join(os.path.dirname(__file__), '..')
> > sys.path.insert(0, root)
> >
> > activate_this = os.path.join(root, 'bin/activate_this.py')
> > execfile(activate_this, dict(__file__=activate_this))
> >
> > os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
> >
> > import django.core.handlers.wsgi
> > application = django.core.handlers.wsgi.WSGIHandler()
> >
> > 3. Indicate how you created the virtual environment, did you use
> > --no-site-packages option to virtualenv.
> >
> > Yes I used --no-site-packages
> >
> > 4. The actual error messages from the Apache error logs you are
> > getting showing there is a problem.
> >
> > With this config, the apache error log gives this output:
> >
> > [Wed Nov 02 21:27:14 2011] [info] mod_wsgi (pid=4658): Create
> > interpreter 'myproject.myhost|'.
> > [Wed Nov 02 21:27:14 2011] [info] [client IP] mod_wsgi (pid=4658,
> > process='', application='myproject.myhost|'): Loading WSGI script '/
> > path/to/my/project/apache/settings.wsgi'.
> > [Wed Nov 02 21:27:14 2011] [error] [client IP] mod_wsgi (pid=4658):
> > Target WSGI script '/path/to/my/project/apache/settings.wsgi' cannot
> > be loaded as Python module.
> > [Wed Nov 02 21:27:14 2011] [error] [client IP] mod_wsgi (pid=4658):
> > Exception occurred processing WSGI script '/path/to/my/project/apache/
> > settings.wsgi'.
> > [Wed Nov 02 21:27:14 2011] [error] [client IP] Traceback (most recent
> > call last):
> > [Wed Nov 02 21:27:14 2011] [error] [client IP] File "/path/to/my/
> > project/apache/settings.wsgi", line 12, in <module>
> > [Wed Nov 02 21:27:14 2011] [error] [client IP] import
> > django.core.handlers.wsgi
> > [Wed Nov 02 21:27:14 2011] [error] [client IP] ImportError: No module
> > named django.core.handlers.wsgi
> > [Wed Nov 02 21:27:14 2011] [debug] mod_deflate.c(615): [client IP]
> > Zlib: Compressed 538 to 325 : URL /
> > [Wed Nov 02 21:27:14 2011] [info] mod_wsgi (pid=4663): Initializing
> > Python.
> > [Wed Nov 02 21:27:14 2011] [info] mod_wsgi (pid=4663): Attach
> > interpreter ''.
> >
> > Another interesting thing to note is that on my local system I can
> > source bin/activate and start python and load django but on the Debian
> > with Apache and mod_wsgi I have just tried the same and cannot load
> > django. Before trying this method I tried some of the other methods
> > described in the video "Getting started with Apache/mod_wsgi" at Pycon
> > Australia and I could successfully load django. I don't know what went
> > wrong then.
> >
> > Any idea?
> > Thanks
> >
> > On Nov 3, 12:27 am, Graham Dumpleton <[email protected]>
> > wrote:
> >> Did you disable mod_python from Apache?
> >>
> >> Also please start by providing the following:
> >>
> >> 1. The actual Apache configuration snippets for mod_wsgi you are using.
> >> 2. The contents of your WSGI script file.
> >> 3. Indicate how you created the virtual environment, did you use
> >> --no-site-packages option to virtualenv.
> >> 4. The actual error messages from the Apache error logs you are
> >> getting showing there is a problem.
> >>
> >> You can also check you are actually running in daemon mode by following:
> >>
> >> http://code.google.com/p/modwsgi/wiki/CheckingYourInstallation#Embedd.
> ..
> >>
> >> Anyway, at the moment you are saying it doesn't work but not actually
> >> saying what is failing. There is going to be no point referring you to
> >> the same documentation you have likely already read, so lets address
> >> the specific error or wrong behaviour you are getting instead.
> >>
> >> Graham
> >>
> >> On 3 November 2011 06:40, karme <[email protected]> wrote:
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> > Hi,
> >>
> >> > I have read the docs and watched the videos but yet cannot make it
> >> > work.
> >> > I have tried the various options and at times almost got it working.
> >>
> >> > Now I'd like your help.
> >>
> >> > - What I have: a standard Debian squeeze with Apache2, python and
> >> > mod_wsgi installed via apt-get.
> >> > - What I want: being able to run Django with mod_wsgi in daemon mode
> >> > using what's inside my project directory only, using virtualenv, I
> >> > don't even have django installed in the system.
> >> > - What is working: the daemon mode seems to be working since I set it
> >> > up to run with my user and I see it like that in top / ps while
> >> > accessing the virtual host which is running the hello world wsgi
> >> > program succesfully.
> >>
> >> > Now I tried to run Django with different method found in the various
> >> > docs to no avail. I'm trying again from scratch. Could you please tell
> >> > me what is the preferred way to achieve the aforementioned goal so I
> >> > can try again? Or may be tell me if my current setup is wrong? Please
> >> > provide some code or even just some references to the docs. If more
> >> > info is needed I can provide it.
> >> > Any help would be much appreciated. Last time I deployed a Django app
> >> > was with mod_python and I can't remember having such troubles, is it
> >> > me or mod_wsgi is a bit more complicated to handle?
> >> > Thanks.
> >>
> >> > --
> >> > You received this message because you are subscribed to the Google
> Groups "modwsgi" group.
> >> > To post to this group, send email to [email protected].
> >> > To unsubscribe from this group, send email to
> [email protected].
> >> > For more options, visit this group athttp://
> groups.google.com/group/modwsgi?hl=en.
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "modwsgi" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected].
> > For more options, visit this group at
> http://groups.google.com/group/modwsgi?hl=en.
> >
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "modwsgi" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/modwsgi?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups
"modwsgi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/modwsgi?hl=en.