mailman-bundler-3.0b2: WSGI server error with zope.interface
Hello,
I wanted to test the new mailman-bundler-3.0b2 and ran into a problem I could not solve. I'm not sure if it's a problem with the mailman-bundler or with my machine. So I'm sorry for bothering you if the problem might be only on my server.
I installed the latest revision (#13) of the branch lp:~abompard/mailman-bundler/mailman-bundler in a fresh virtualenv with flag --no-site-packages (because of earlier install attempts that failed) located under /var/tmp/mailman. I've created a user and a group ('mailman') who own the directory /var/tmp/mailman and I've added the user 'www-data' to the group 'mailman' so there might be no permission problem in my opinion. I followed the steps in START.rst (as 'production' installation) and everything worked fine so far. Then I wanted to setup the Postorius/Hyperkitty frontend access with Apache and mod_wsgi (3.3). I used the supplied ~/deployment/apache.conf as basis and added VirtualHost directives and custom logging and so on but I didn't change the WSGI... directives. Now when I try to access the configured domain I see always a "Server Error (500)" and the following stacktrace in my error log:
ERROR 2014-05-05 23:46:03,342 base 5588 140076680513280 Internal Server Error: / Traceback (most recent call last): File "/var/tmp/mailman/mailman-bundler/eggs/Django-1.6.4-py2.7.egg/django/core/handlers/base.py", line 90, in get_response response = middleware_method(request) File "/var/tmp/mailman/mailman-bundler/eggs/HyperKitty-0.1.7-py2.7.egg/hyperkitty/middleware.py", line 67, in process_request store = kittystore.get_store(settings) File "/var/tmp/mailman/mailman-bundler/eggs/KittyStore-0.1.7-py2.7.egg/kittystore/__init__.py", line 52, in get_store from kittystore.storm import get_storm_store File "/var/tmp/mailman/mailman-bundler/eggs/KittyStore-0.1.7-py2.7.egg/kittystore/storm/__init__.py", line 11, in <module> from .store import StormStore File "/var/tmp/mailman/mailman-bundler/eggs/KittyStore-0.1.7-py2.7.egg/kittystore/storm/store.py", line 30, in <module> from kittystore.scrub import Scrubber File "/var/tmp/mailman/mailman-bundler/eggs/KittyStore-0.1.7-py2.7.egg/kittystore/scrub.py", line 26, in <module> from mailman.utilities.string import oneline File "/var/tmp/mailman/mailman-bundler/eggs/mailman-3.0.0b4-py2.7.egg/mailman/utilities/string.py", line 39, in <module> from zope.component import getUtility File "/var/tmp/mailman/mailman-bundler/eggs/zope.component-4.2.1-py2.7.egg/zope/component/__init__.py", line 19, in <module> from zope.interface import named ImportError: cannot import name named
I have already found out, that this error occurs in zope.interface < 4.1.0, but I've definitly installed version 4.1.1. One interesting fact is, when I start the Django development server (with activated virtualenv) with './bin/mailman-web-django-admin runserver' this error doesn't occur.
Thank you very much for any ideas and help! Tim Marx
Tim Marx writes:
"/var/tmp/mailman/mailman-bundler/eggs/zope.component-4.2.1-py2.7.egg/zope/component/__init__.py", line 19, in <module> from zope.interface import named ImportError: cannot import name named
I have already found out, that this error occurs in zope.interface < 4.1.0, but I've definitly installed version 4.1.1. One interesting fact is, when I start the Django development server (with activated virtualenv) with './bin/mailman-web-django-admin runserver' this error doesn't occur.
I think you may have answered your own question. Try starting a new shell (to get out of the virtualenv) and typing "./bin/python" (or wherever the virtualenv python lives) at the shell prompt, then
>>> import zope.interface
>>> from zope.interface import named
If the first succeeds but the second doesn't, you have another zope.interface on your PYTHON_PATH. You need to ensure that Apache and mod_wsgi see zope.interface version 4.1.1, not the other one.
I cheat, I have a virtualenv that manipulates the system site-packages because I don't care about anything but Mailman. However, you should be careful that you don't have packages that depend incompatibly on an earlier version of zope.interface.
participants (2)
-
Stephen J. Turnbull -
Tim Marx