Fresh install: "ImportError: No module named site"
I'm trying to deploy Askbot to production.
I'm using Ubuntu 12.04 , Apache2 and Python 2.7
Running the Django development server, the website works fine, but it doesn't seem to work under Apache.
This is my error log:
[warn] mod_wsgi: Compiled for Python/2.7.2+.
[warn] mod_wsgi: Runtime using Python/2.7.3.
[notice] Apache/2.2.22 (Ubuntu)
mod_wsgi/3.3 Python/2.7.3 configured
-- resuming normal operations
ImportError: No module named site
ImportError: No module named site
I added
import sys
sys.stderr.write('\n'.join(sys.path))
to django.wsgi and run python2 django.wsgi
, this is the output:
/var/www/example /usr/lib/python2.7 /usr/lib/python2.7/plat-linux2 /usr/lib/python2.7/lib-tk /usr/lib/python2.7/lib-old /usr/lib/python2.7/lib-dynload /usr/local/lib/python2.7/dist-packages /usr/lib/python2.7/dist-packages
I've checked [link removed] and I see that my install is missing all folders like "/usr/lib/python2.7/site-packages/"
running python:
import site
site
<module 'site' from '/usr/lib/python2.7/site.pyc'>
This is my apache configuration file:
#the following two directories must be both readable and writable by apache
WSGISocketPrefix /var/run/apache2
# this is a manually created folder: WSGIPythonEggs /var/www/example/eggs
#the following directory must be readable by apache WSGIPythonHome
/usr/lib/python2.7
#NOTE: all urs below will need to be adjusted if
#settings.FORUM_SCRIPT_ALIAS is anything other than empty string (e.g.
= 'forum/')
#replace with 127.0.0.1 with real IP address <VirtualHost 23.94.43.156:80>
ServerAdmin [email removed]
DocumentRoot /var/www/example3
ServerName [link removed]
#aliases to serve static media directly
#will probably need adjustment
Alias /m/ /var/www/example3/static/
Alias /upfiles/ /var/www/example3/askbot/upfiles/
<DirectoryMatch "/var/www/example3/askbot/skins/([^/]+)/media">
Order deny,allow
Allow from all
</DirectoryMatch>
<Directory "/var/www/example3/askbot/upfiles">
Order deny,allow
Allow from all
</Directory>
#must be a distinct name within your apache configuration
WSGIDaemonProcess askbot2
WSGIProcessGroup askbot2
WSGIScriptAlias / /var/www/example3/django.wsgi
<Directory "/var/www/example3">
Order allow,deny
Allow from all </Directory>
#make all admin stuff except media go through secure connection
<LocationMatch "/admin(?!/media)">
RewriteEngine on
RewriteRule /admin(.*)$ [link removed]$1> [L,R=301]
</LocationMatch>
CustomLog /var/log/apache2/access_log common
ErrorLog /var/log/apache2/askbot/error_log
LogLevel debug </VirtualHost>
Thanks for your help!
Comments