[Pkg-mailman-hackers] Bug#801682: mailman: still using old (python 2.5) library path
Paolo Miotto
paolo.miotto at uniud.it
Tue Oct 13 13:05:53 UTC 2015
Package: mailman
Version: 1:2.1.18-2
Severity: normal
I'm trying to use LDAPMemberships adapter with mailman in jessie.
From command line, list_lists and list_members are working.
When I access to the mailman web site with LDAPMemberships adapter
activated, it fails to load the ldap library (from package python-ldap)
with this error:
File "/var/lib/mailman/Mailman/LDAPMemberships.py", line 30, in <module>
import ldap
ImportError: No module named ldap
below in the trace dump I've found this:
sys.path = ['/var/lib/mailman/pythonlib', '/var/lib/mailman',
'/usr/lib/mailman/scripts', '/var/lib/mailman', '/usr/lib/python2.7/',
'/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload',
'/usr/lib/python2.7/site-packages']
As you can see, the library path is set as
'/usr/lib/python2.7/site-packages',
while the package python-ldap installs the library as
'/usr/lib/python2.7/dist-packages/ldap'
It works if I do one of this:
* I make a symbolic link from /usr/lib/python2.7/site-packages
to /usr/lib/python2.7/dist-packages
* I add this 2 lines
import sys
sys.path.append("/usr/lib/python2.7/dist-packages/")
at the beginning of LDAPMemberships.py.
I've tryed to change sys.path in /usr/lib/mailman/bin/paths.py with no
success.
From section 2.5 of the Debian Python Policy I understand that
site-packages is the default destination for pre-2.5 pyhton, and
dist-packages for python 2.6 and above.
Setting the correct path for the scripts called through the web
interface will make the things working out of the box with other
libraries too.
--
Paolo Miotto
More information about the Pkg-mailman-hackers
mailing list