Are you using mod_wsgi compiled for the wrong version of python or something of
that nature? mod_wsgi has to be compiled for python 2.7. You are referencing
#!/usr/bin/python2 but if the other modules are not compiled for the same
version then you will run into errors such as this. Also, not certain if this
is an issue for you but generally I use something more like #!/usr/bin/env
python-2.7 for my shebang.
This is what my demo trac.wsgi looks like. I am using virtualenv:
import sys
sys.stdout = sys.stderr
import os
activate_this = os.path.expanduser("/var/www/html/trac/bin/activate_this.py")
execfile(activate_this, dict(__file__=activate_this))
os.environ['TRAC_ENV_DIR'] = '/var/www/html/trac'
os.environ['PYTHON_EGG_CACHE'] = '/var/www/html/trac/logan/eggs'
import trac.web.main
def application(environ, start_response):
environ['trac.env_path'] = '/var/www/html/trac/logan'
return trac.web.main.dispatch_request(environ, start_response)
From: "Adrya Stembridge" <[email protected]>
To: [email protected]
Sent: Tuesday, May 30, 2017 2:39:14 PM
Subject: Re: [Trac] "ImportError: No module named trac.web.main" on fresh
install with WSGI
It is properly configured with the actual path. I did a find/replace of actual
my path before posting. Never can be too careful.
On Tue, May 30, 2017 at 2:33 PM, Logan Anderson < [email protected] >
wrote:
You have the following:
environ.setdefault('trac.env_path', '/path/to/trac')
Does your wsgi file literally say '/path/to/trac' ? Or have you properly
configured it for your actual path?
From: "ams" < [email protected] >
To: "Trac Users" < [email protected] >
Sent: Tuesday, May 30, 2017 2:03:25 PM
Subject: [Trac] "ImportError: No module named trac.web.main" on fresh install
with WSGI
Recently rebuilt a server with RHEL7. I had to reinstall trac too, but after
installing I am seeing the error "ImportError: No module named trac.web.main"
in the Apache HTTPD log files.
Here are my install steps:
-----------------------------------------
## Install trac
pip install trac
## create the wsgi script
trac-admin /path/to/trac/ initenv
trac-admin /path/to/trac/ deploy /tmp/deploy
## examine script
cat /tmp/deploy/cgi-bin/trac.wsgi
[root@nbs]# cat /path/to/trac/cgi-bin/trac.wsgi
#!/usr/bin/python2
# -*- coding: utf-8 -*-
#
# Copyright (C)2008-2009 Edgewall Software
# Copyright (C) 2008 Noah Kantrowitz < [email protected] >
# All rights reserved.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at http://trac.edgewall.org/wiki/TracLicense .
#
# This software consists of voluntary contributions made by many
# individuals. For the exact contribution history, see the revision
# history and logs, available at http://trac.edgewall.org/log/ .
#
# Author: Noah Kantrowitz < [email protected] >
import os
def application(environ, start_request):
if not 'trac.env_parent_dir' in environ:
environ.setdefault('trac.env_path', '/path/to/trac')
if 'PYTHON_EGG_CACHE' in environ:
os.environ['PYTHON_EGG_CACHE'] = environ['PYTHON_EGG_CACHE']
elif 'trac.env_path' in environ:
os.environ['PYTHON_EGG_CACHE'] = \
os.path.join(environ['trac.env_path'], '.egg-cache')
elif 'trac.env_parent_dir' in environ:
os.environ['PYTHON_EGG_CACHE'] = \
os.path.join(environ['trac.env_parent_dir'], '.egg-cache')
from trac.web.main import dispatch_request
return dispatch_request(environ, start_request)
## Move trac scripts to correct location
mv /tmp/deploy/* /path/to/trac/
## Set permissions
chown -R apache:apache /path/to/trac/
chmod 700 /path/to/trac/cgi-bin/trac.wsgi
## create trac.conf for Apache HTTPD
WSGIScriptAlias /trac /path/to/trac/cgi-bin/trac.wsgi
<Directory /path/to/trac/>
WSGIApplicationGroup %{GLOBAL}
# For Apache 2.2
<IfModule !mod_authz_core.c>
Order deny,allow
Allow from all
</IfModule>
# For Apache 2.4
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Directory>
<Location "/trac/login">
AuthType Basic
AuthName "Trac"
AuthUserFile /data/www/htpasswd/trac.htpasswd
Require valid-user
</Location>
## Restart apache
service httpd restart
## browser shows:
Internal Server Error
## httpd error log shows:
[DATE] [:error] [pid 3286] [client CLIENT_IP:55491] mod_wsgi (pid=3286):
Exception occurred processing WSGI script '/path/to/trac/cgi-bin/trac.wsgi'.
[DATE] [:error] [pid 3286] [client CLIENT_IP:55491] Traceback (most recent call
last):
[DATE] [:error] [pid 3286] [client CLIENT_IP:55491] File
"/path/to/trac/cgi-bin/trac.wsgi", line 30, in application
[DATE] [:error] [pid 3286] [client CLIENT_IP:55491] from trac.web.main import
dispatch_request
[DATE] [:error] [pid 3286] [client CLIENT_IP:55491] ImportError: No module
named trac.web.main
## If I point trac.conf WSGI to a test script:
def application(environ, start_response):
start_response('200 OK',[('Content-type','text/html')])
return ['<html><body>Hello World!</body></html>']
I see the "Hello World" in the browser. WSGI appears to be working OK.
Something is off in the trac installation but I am unsure what exactly. Help is
greatly appreciated.
ams
--
You received this message because you are subscribed to the Google Groups "Trac
Users" 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/trac-users .
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 "Trac Users" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/trac-users/yeheTRZRjys/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/trac-users .
For more options, visit https://groups.google.com/d/optout .
--
You received this message because you are subscribed to the Google Groups "Trac
Users" 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/trac-users .
For more options, visit https://groups.google.com/d/optout .
--
You received this message because you are subscribed to the Google Groups "Trac
Users" 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/trac-users.
For more options, visit https://groups.google.com/d/optout.