Centos 5.3 at slicehost, TG2.1a3, apache2.  I got mod_wsgi installed
and the simple test wsgi script file works.  Now I'm trying to launch
my TG2 app using a virtualenv.  I've cloned the wsgi file and run it
from the command line and had it dump sys.path and I get

/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/lib/python2.6/site-packages/
modwsgideploy-0.4.20dev-py2.6.egg
/home/tgdev/spacetime/lib/python2.6/site-packages/Cheetah-2.4.1-py2.6-
linux-x86_64.egg
/home/tgdev/spacetime/lib/python2.6/site-packages/Markdown-2.0.3-
py2.6.egg
/home/tgdev/spacetime/eagle
/home/tgdev/spacetime/lib/python2.6/site-packages
/var/www/wsgi-scripts
/opt/python2.6/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg
/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

which looks exactly right - virtualenv libs first, default system libs
last.

My wsgi file looks like:

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'

prev_sys_path = list(sys.path)

import site
site.addsitedir(APP_PATH)
site.addsitedir(PKG_PATH)
os.environ['PYTHON_EGG_CACHE'] = '/var/tmp/' + APP_NAME + '/python-
eggs'

new_sys_path = []
for item in list(sys.path):
    if item not in prev_sys_path:
        new_sys_path.append(item)
        sys.path.remove(item)
sys.path[:0] = new_sys_path

from paste.deploy import loadapp

application = loadapp('config:' + APP_PATH + '/development.ini')

and my virtual host config in apache looks like:

WSGIPythonHome /opt/python2.6

<VirtualHost *:80>

    ServerName ***********
    ServerAlias ***************
    ServerAdmin *************

    <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 eagle processes=2 threads=15 display-name=%
{GROUP}
    #WSGIProcessGroup eagle

    WSGIScriptAlias / /var/www/wsgi-scripts/eagle.wsgi

    <Directory /var/www/wsgi-scripts>
    Order allow,deny
    Allow from all
    </Directory>

</VirtualHost>

What I see in the error_log is

[Sun Jan 03 05:17:54 2010] [error] [client 71.227.129.215] mod_wsgi
(pid=15568): Target WSGI script '/var/www/wsgi-scripts/eagle.wsgi'
cannot be loaded as Python module.
[Sun Jan 03 05:17:54 2010] [error] [client 71.227.129.215] mod_wsgi
(pid=15568): Exception occurred processing WSGI script '/var/www/wsgi-
scripts/eagle.wsgi'.
[Sun Jan 03 05:17:54 2010] [error] [client 71.227.129.215] Traceback
(most recent call last):
[Sun Jan 03 05:17:54 2010] [error] [client 71.227.129.215]   File "/
var/www/wsgi-scripts/eagle.wsgi", line 22, in <module>
[Sun Jan 03 05:17:54 2010] [error] [client 71.227.129.215]     from
paste.deploy import loadapp
[Sun Jan 03 05:17:54 2010] [error] [client 71.227.129.215]
ImportError: No module named paste.deploy

but I do not get that import error if I run the file from the command
line.  What gives?

-Todd Blanchard

--

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.


Reply via email to