Actually, your problem is very simple to understand: You are running the
system's python from Apache, but you are running your virtualenv's python
from the command line.

The result is exactly what you're seeing: Apache can't import the necessary
files, because they're not in the system's python path.

The fix, though, is actually fairly easy: In your Apache config file, you
need to set up a variable named WSGIPythonHome. If you have configured
things such that mod_wsgi is loaded from its own config file, it's best to
set it there.Based on what you've shown above, you will want this line
somewhere in your apache configuration, after mod_wsgi is loaded:

WSGIPythonHome /home/tgdev/spacetime

Note: The above is based on my Debian system, latest stable, running Apache
2.2.9 with mod_wsgi 2.5-1~lenny1 as the package versions. The system is
running TurboGears 2.0 (haven't upgraded to the 2.1 packages yet). If your
version differ significantly, you may need a different variable, or possibly
a different path. Also, I have not checked over the remainder of your
configuration, and there may be other issues. This, though, should at least
get you going.

On Sat, Jan 2, 2010 at 10:19 PM, Todd Blanchard <[email protected]> wrote:

> Thanks, I've had a look at that.  Its the same - when apache runs the wsgi
> file, the import fails.  When I run it from the command line, it works OK.
>  I'm really frustrated - been working on this deployment for two days and it
> has been problem after problem with postgis, apache, python, turbogears.....
>
> It really shouldn't be this hard to build a deployment.
>
> On Jan 2, 2010, at 6:17 PM, Lukasz Szybalski wrote:
>
> > On Sat, Jan 2, 2010 at 6:23 PM, Todd Blanchard <[email protected]>
> wrote:
> >> I've been trying for a couple days to get a production server deployed
> using centos 5.3, apache 2.4, postgres, and TG2.1a3.
> >>
> >> I'm stuck.  HELP!
> >>
> >> The error in the apache log is:
> >>
> >> [Sun Jan 03 00:02:34 2010] [error] [client 71.227.129.215] mod_wsgi
> (pid=6103): Target WSGI script '/var/www/wsgi-scripts/eagle.wsgi' cannot be
> loaded as Python module.
> >> [Sun Jan 03 00:02:34 2010] [error] [client 71.227.129.215] mod_wsgi
> (pid=6103): Exception occurred processing WSGI script
> '/var/www/wsgi-scripts/eagle.wsgi'.
> >> [Sun Jan 03 00:02:34 2010] [error] [client 71.227.129.215] Traceback
> (most recent call last):
> >> [Sun Jan 03 00:02:34 2010] [error] [client 71.227.129.215]   File
> "/var/www/wsgi-scripts/eagle.wsgi", line 8, in <module>
> >> [Sun Jan 03 00:02:34 2010] [error] [client 71.227.129.215]     from
> paste.deploy import loadapp
> >> [Sun Jan 03 00:02:34 2010] [error] [client 71.227.129.215] ImportError:
> No module named paste.deploy
> >>
> >> The script file (which is using a virgin python 2.6 installed +
> virtualenv is:
> >>
> >> import os, sys
> >>
> >> APP_NAME = 'eagle'
> >> ENV_PATH = '/home/tgdev/spacetime'
> >> APP_PATH = ENV_PATH + '/eagle'
> >> PKG_PATH = ENV_PATH + '/lib/python2.6/site-packages'
> >>
> >>
> >> import site
> >> site.addsitedir(PKG_PATH)
> >> site.addsitedir(APP_PATH)
> >> os.environ['PYTHON_EGG_CACHE'] = '/var/tmp/python-eggs/'+APP_NAME
> >>
> >> from paste.deploy import loadapp
> >>
> >> application = loadapp('config:' + APP_PATH + '/development.ini')
> >>
> >>
> >> The resulting sys.path I get when running it from the command line with
> the call to loadapp replaced by print sys.path is:
> >>
> >> /var/www/wsgi-scripts
> >> /opt/python2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg
> >> /home/tgdev/spacetime/lib/python2.6/site-packages/pip-0.6.1-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/tg.devtools-2.1a3-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/repoze.who-1.0.18-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/repoze.what_quickstart-1.0.3_r6729-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/SQLAlchemy-0.5.6-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/sqlalchemy_migrate-0.5.4-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/TurboGears2-2.1a3-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/zope.interface-3.5.2-py2.6-linux-x86_64.egg
> >> /home/tgdev/spacetime/lib/python2.6/site-packages/Paste-1.7.2-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/repoze.who_friendlyform-1.0b3-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/repoze.what.plugins.sql-1.0rc3_r6698-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/repoze.who.plugins.sa-1.0rc2-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/repoze.what-1.0.8-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/decorator-3.0.0-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/repoze.tm2-1.0a5-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/repoze.what_pylons-1.0-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/WebError-0.10.1-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/ToscaWidgets-0.9.8-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/WebFlash-0.1a9-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-linux-x86_64.egg
> >> /home/tgdev/spacetime/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/repoze.who_testutil-1.0rc1-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/transaction-1.0.0-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/simplejson-2.0.9-py2.6-linux-x86_64.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/Pygments-1.1.1-py2.6.egg
> >> /home/tgdev/spacetime/lib/python2.6/site-packages/Tempita-0.4-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/WebOb-0.9.6.1-py2.6.egg
> >> /home/tgdev/spacetime/lib/python2.6/site-packages/WebTest-1.1-py2.6.egg
> >> /home/tgdev/spacetime/lib/python2.6/site-packages/Mako-0.2.5-py2.6.egg
> >> /home/tgdev/spacetime/lib/python2.6/site-packages/nose-0.11.1-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/FormEncode-1.2.2-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/PasteScript-1.7.3-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/WebHelpers-0.6.4-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/Routes-1.10.3-py2.6.egg
> >> /home/tgdev/spacetime/lib/python2.6/site-packages/Beaker-1.5.1-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/tgext.geo-0.6-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/TileCache-2.10-py2.6.egg
> >> /home/tgdev/spacetime/lib/python2.6/site-packages/mapfish-1.1-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/psycopg2-2.0.13-py2.6-linux-x86_64.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/GeoAlchemy-0.1-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/FeatureServer-1.12-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/tgext.admin-0.3.6-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/zope.sqlalchemy-0.4-py2.6.egg
> >> /home/tgdev/spacetime/lib/python2.6/site-packages/Babel-0.9.4-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/tgext.crud-0.3.3-py2.6.egg
> >> /home/tgdev/spacetime/lib/python2.6/site-packages/sprox-0.6.6-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/geojson-1.0.1-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/Shapely-1.0.14-py2.6.egg
> >>
> /home/tgdev/spacetime/lib/python2.6/site-packages/tw.forms-0.9.8-py2.6.egg
> >> /home/tgdev/spacetime/eagle
> >> /opt/python2.6/lib/python2.6/site-packages/virtualenv-1.4.3-py2.6.egg
> >> /opt/python2.6/lib/python26.zip
> >> /opt/python2.6/lib/python2.6
> >> /opt/python2.6/lib/python2.6/plat-linux2
> >> /opt/python2.6/lib/python2.6/lib-tk
> >> /opt/python2.6/lib/python2.6/lib-old
> >> /opt/python2.6/lib/python2.6/lib-dynload
> >> /opt/python2.6/lib/python2.6/site-packages
> >> /home/tgdev/spacetime/lib/python2.6/site-packages
> >>
> >> My virtual host config is:
> >>
> >> <VirtualHost *:80>
> >>
> >>    ServerName **************
> >>    ServerAlias ***************
> >>    ServerAdmin [email protected]
> >>
> >>    <Directory /var/www/static/eagle>
> >>    Options Indexes FollowSymLinks
> >>    AllowOverride None
> >>    Order allow,deny
> >>    Allow from all
> >>    </Directory>
> >>
> >>    DocumentRoot /var/www/static/eagle
> >>
> >>    Alias /robots.txt /var/www/static/eagle/robots.txt
> >>    Alias /favicon.ico /var/www/static/eagle/favicon.ico
> >>    Alias /css/ /var/www/static/eagle/css/
> >>    Alias /images/ /var/www/static/eagle/images/
> >>    Alias /media/ /var/www/static/eagle/media/
> >>
> >>
> >>    #WSGIDaemonProcess eagleoffshore.biz processes=2 threads=15
> display-name=%{GROUP}
> >>    #WSGIProcessGroup eagleoffshore.biz
> >>
> >>    WSGIScriptAlias / /var/www/wsgi-scripts/eagle.wsgi
> >>
> >>    <Directory /var/www/wsgi-scripts>
> >>    Order allow,deny
> >>    Allow from all
> >>    </Directory>
> >>
> >> </VirtualHost>
> >
> >
> > I would try modwsgideploy to help with the setup....
> > http://turbogears.org/2.0/docs/main/Deployment/modwsgi+virtualenv.html
> >
> > Lucas
> >
> > --
> >
> > You received this message because you are subscribed to the Google Groups
> "TurboGears" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected]<turbogears%[email protected]>
> .
> > For more options, visit this group at
> http://groups.google.com/group/turbogears?hl=en.
> >
> >
>
> --
>
> You received this message because you are subscribed to the Google Groups
> "TurboGears" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<turbogears%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/turbogears?hl=en.
>
>
>


-- 
Michael J. Pedersen
My IM IDs: Jabber/[email protected], ICQ/103345809, AIM/pedermj022171
         Yahoo/pedermj2002, MSN/[email protected]

--

You received this message because you are subscribed to the Google Groups 
"TurboGears" 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/turbogears?hl=en.


Reply via email to