Were you by chance using a Python virtual environment? Apparently if your virtual environment is created of system Python and then you upgrade the system Python, then datetime can stop working.
http://askubuntu.com/questions/509283/python-no-module-named-datetime/542673#542673 Graham On 11/12/2014, at 1:13 PM, Graham Dumpleton <[email protected]> wrote: > Wow. Surprised you got that far. The chroot feature of mod_wsgi pretty well > has no documentation. At best there might be some comments about it buried in > the release notes somewhere. > > Before we try and sort out the issue, I might say that the better way of > trying to isolate an application these days would be to use Docker. I realise > this means learning a bit about how to install and manage Docker, but as far > as running Apache/mod_wsgi under Docker, the experience is much much better > as I provide a prebuilt Docker image for doing it. > > This Docker image is something I don't think I have mentioned here on the > mod_wsgi mailing list as it has only been out there for a week or so. > > I have recently started blogging about it and have two posts up about it: > > Hosting Python WSGI applications using Docker. > Deferred build actions for Docker images. > > The actual Docker Hub entry is: > > https://registry.hub.docker.com/u/grahamdumpleton/mod-wsgi-docker/ > > Anyway, for chroot, can you confirm a few things. > > First is whether the Python version outside of the chroot is the default > operating system Python installation for 2.7 and that the mod_wsgi is also > the operating system binary package also. > > Double check what version of Python mod_wsgi is installed for. I would > imagine it should be Python 2.7, but want to make sure isn't 2.6. > > > http://code.google.com/p/modwsgi/wiki/CheckingYourInstallation#Python_Installation_In_Use > > Now inside of the chroot, did you also use the default operating system > Python installation for 2.7. > > Inside of the chroot, run the 'python' command line and see if datetime can > imported. > > $ python > Python 2.7.2 (default, Oct 11 2012, 20:14:37) > [GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> import datetime > >>> datetime.__file__ > '/Users/graham/Python/docker/lib/python2.7/lib-dynload/datetime.so' > > Graham > > On 11/12/2014, at 11:54 AM, Jennifer Mehl <[email protected]> wrote: > >> Hello, >> >> I'm new to mod_wsgi (and I am not a programmer, so please bear with me). I >> have a Django/Python application that was written by someone else that I >> have deployed using mod_wsgi 3.4 on Ubuntu 14.04LTS with Apache 2.4.7, using >> the following in my apache config: >> >> #Django WSGI >> >> WSGIScriptAlias / /var/www/transfergateway/myproject/wsgi.py >> >> WSGIPythonPath /var/www/transfergateway >> >> <VirtualHost *:443> >> >> ServerName *redacted* >> >> <Directory /var/www/transfergateway> >> >> <Files wsgi.py> >> >> Order deny,allow >> >> Allow from all >> >> </Files> >> >> </Directory> >> >> The application is running fine using mod_wsgi and apache. >> >> However, I want to make this application more secure, so I would like to >> have mod_wsgi run in a chroot jail. I created a chroot jail using the >> instructions here: https://help.ubuntu.com/community/BasicChroot and copied >> the application into /var/chroot/var/www/transfergateway . Then, in the >> chroot, I installed python2.7 and used pip install to install the python >> packages used in the project (as far as I can tell). >> >> I have created a new Apache config: >> >> #test chroot jail for Django WSGI >> >> WSGISocketPrefix /var/run/wsgi >> >> <VirtualHost *:443> >> >> ServerName *redacted* >> >> WSGIScriptAlias / /var/chroot/var/www/transfergateway/myproject/wsgi.py >> >> WSGIProcessGroup chroot >> >> WSGIDaemonProcess chroot user=daemon group=daemon processes=2 threads=25 >> chroot=/var/chroot >> >> <Directory /var/chroot/var/www/transfergateway/myproject/> >> >> <Files wsgi.py> >> >> Order deny,allow >> >> Allow from all >> >> </Files> >> >> </Directory> >> >> >> >> But I am getting the following errors in the Apache error log upon startup: >> >> >> Target WSGI script '/var/www/transfergateway/myproject/wsgi.py' cannot be >> loaded as Python module. >> >> Exception occurred processing WSGI script >> '/var/www/transfergateway/myproject/wsgi.py'. >> >> Traceback (most recent call last): >> >> File "/var/www/transfergateway/myproject/wsgi.py", line 29, in <module> >> >> from django.core.wsgi import get_wsgi_application >> >> File "/usr/local/lib/python2.7/dist-packages/django/core/wsgi.py", line 1, >> in <module> >> >> from django.core.handlers.wsgi import WSGIHandler >> >> File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", >> line 9, in <module> >> >> from django import http >> >> File "/usr/local/lib/python2.7/dist-packages/django/http/__init__.py", line >> 1, in <module> >> >> from django.http.cookie import SimpleCookie, parse_cookie >> >> File "/usr/local/lib/python2.7/dist-packages/django/http/cookie.py", line 3, >> in <module> >> >> from django.utils.encoding import force_str >> >> File "/usr/local/lib/python2.7/dist-packages/django/utils/encoding.py", line >> 4, in <module> >> >> import datetime >> >> >> ImportError: No module named datetime >> >> >> >> I appreciate any advice on what I am doing wrong here. Do I have my chroot >> set up properly? Do I need to do anything with permissions on /var/chroot >> or /var/chroot/var/www/transfergateway? Do I need to run mod_wsgi as a >> different user than daemon? >> >> >> >> thanks in advance for any help! >> >> --Jennifer >> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "modwsgi" 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 http://groups.google.com/group/modwsgi. >> For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "modwsgi" 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 http://groups.google.com/group/modwsgi. For more options, visit https://groups.google.com/d/optout.
