More below.
On Aug 27, 3:33 pm, Graham Dumpleton <[EMAIL PROTECTED]>
wrote:
> On Aug 27, 2:54 pm, Olaf Meeuwissen <[EMAIL PROTECTED]> wrote:
>
>
>
> > Graham Dumpleton <[EMAIL PROTECTED]> writes:
> > > On Aug 27, 9:57 am, Olaf Meeuwissen <[EMAIL PROTECTED]> wrote:
> > >> Graham Dumpleton <[EMAIL PROTECTED]> writes:
> > >> > In the WSGI script file, add:
>
> > >> > import sys
>
> > >> > print >> sys.stderr, str(sys.path)
>
> > >> > This will cause value of sys.path to be logged to Apache error log. Go
> > >> > through what is dumped out to just make sure that .pth files contents
> > >> > added correctly and that all the other directories added look
> > >> > reasonable and refer to your virtual environment.
>
> > >> Thanks for the tip. Did that and here is what ends up in my Apache
> > >> error log:
>
> > >> [Wed Aug 27 08:45:58 2008] [error]
> > >> ['/path/to/WSGIHome/lib/python2.5/site-packages/setuptools-0.6c8-py2.5.egg'
> > >> ,
> > >> '/path/to/WSGIHome/lib/python2.5/site-packages/Pygments-0.10-py2.5.egg',
> > >> '/path/to/WSGIHome/lib/python2.5/site-packages/pytz-2008c-py2.5.egg',
> > >> '/path/to/SandBox/lib/python2.5/site-packages/setuptools-0.6c8-py2.5.egg',
> > >>
> > >> '/path/to/SandBox/lib/python2.5/site-packages/pysqlite-2.4.1-py2.5-linux-i6
> > >> 86.egg',
> > >> '/path/to/SandBox/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg',
> > >> '/path/to/SandBox/lib/python2.5/site-packages/Genshi-0.5.1-py2.5-linux-i686
> > >> .egg', '/path/to/WSGIHome/lib/python2.5',
> > >> '/path/to/WSGIHome/lib/python2.5/plat-linux2',
> > >> '/path/to/WSGIHome/lib/python2.5/lib-tk',
> > >> '/path/to/WSGIHome/lib/python2.5/lib-dynload', '/usr/lib/python2.5',
> > >> '/usr/lib/python2.5/lib-tk',
> > >> '/path/to/WSGIHome/lib/python2.5/site-packages',
> > >> '/path/to/SandBox/lib/python2.5/site-packages',
> > >> '/usr/share/python-support/python-subversion']
>
> > >> My WSGIPythonHome is set to /path/to/WSGIHome which is a symlink
> > >> pointing to a --no-site-packages virtualenv. I use the symlink so I
> > >> can switch easily between virtualenvs w/ and w/o site packages. The
> > >> /path/to/SandBox is another no-site-packages virtualenv and here's
> > >> where I added a python-subversion.pth with the contents shown by the
> > >> last element of the sys.path.
>
> > > How in your configuration are you getting:
>
> > > /path/to/SandBox/lib/python2.5/site-packages
>
> > > added to sys.path?
>
> > The same way as /path/to/WSGIHome/lib/python2.5/site-packages, I'd
> > presume. That is, I have no clue, really. I think virtualenv and/or
> > easy_install automagically take care of that.
>
> > > If this contains .pth files you can't just use:
>
> > > sys.path.append(....)
>
> > > as that doesn't result in .pth files being parsed with content added
> > > to sys.path in the process.
>
> > The /path/to/SandBox/lib/python2.5/site-packages directory contains a
> > .pth file with the following contents:
>
> > /usr/share/python-support/python-subversion
>
> You previously indicated locations as:
>
> *.py in /usr/share/python-support/python-subversion/{svn,libsvn}
> *.so in /usr/lib/python-support/python-subversion/python2.[45]/
> libsvn
>
> And that you had:
>
> $ cat /path/to/virtualenv/lib/python2.5/site-packages/svn-
> python.pth
> /usr/lib/python-support/python-subversion/python2.5
> /usr/lib/python-support/python-subversion
> /usr/share/python-support/python-subversion
>
> Shouldn't the directory containing the .so files, ie.,
>
> /usr/lib/python-support/python-subversion/python2.5
>
> still be in the .pth file? You now only have:
>
> /usr/share/python-support/python-subversion
>
> which would mean only .py files would be found.
>
> Yes/No?
BTW, my questions may be answered if you can do:
$ python
Python 2.3.5 (#1, Nov 23 2005, 12:05:23)
[GCC 3.3.2] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> import libsvn
>>> libsvn.__file__
'/usr/local/sys/python/local/lib/python2.3/site-packages/libsvn/
__init__.py'
>>> import svn
>>> svn.__file__
'/usr/local/sys/python/local/lib/python2.3/site-packages/svn/
__init__.py'
and show what you get.
One other possibility is that .so can be found but library
dependencies cant be found. I would though expect different Python
exception, but if subversion bindings are masking the true error, this
might be problem.
Thus, run for your paths:
ldd /usr/local/sys/python/local/lib/python2.3/site-packages/libsvn/
*.so
as the user that the mod_wsgi daemon process would run as.
Graham
> Graham
>
> > so it seems to get added allright.
>
> > > So, post exact details of the following.
>
> > > 1. Version of mod_wsgi.
>
> > $ dpkg-query -W libapache2-mod-wsgi
> > libapache2-mod-wsgi 2.1-2
> > $
>
> > > 2. What WSGIPythonHome and WSGIPythonPath are set to in Apache
> > > configuration.
>
> > $ grep -r WSGIPythonHome /etc/apache2/sites-enabled/
> > /etc/apache2/sites-enabled/WSGIHome:WSGIPythonHome /path/to/WSGIHome
> > $ grep -r WSGIPythonPath /etc/apache2/sites-enabled/
> > $
>
> > > 3. Whether you are using WSGIDaemonProcess or WSGIProcessGroup and if
> > > so what they are set to.
>
> > $ grep -A3 WSGIDaemonProcess /etc/apache2/sites-enabled/SandBox
> > WSGIDaemonProcess SandBox user=olaf group=olaf \
> > threads=15 maximum-requests=10000 \
> > python-path=/path/to/SandBox/lib/python2.5/site-packages
> > $ grep WSGIProcessGroup /etc/apache2/sites-enabled/SandBox
> > WSGIProcessGroup SandBox
> > $
>
> > > 4. What 'ls -las' output is on your sandbox site packages directory.
>
> > $ ls -las /path/to/SandBox/lib/python2.5/site-packages/
> > total 356
> > 4 drwxr-xr-x 5 olaf olaf 4096 2008-08-27 08:25 .
> > 4 drwxr-xr-x 4 olaf olaf 4096 2008-08-21 16:25 ..
> > 4 drwxr-xr-x 4 olaf olaf 4096 2008-08-21 16:26
> > Genshi-0.5.1-py2.5-linux-i686.egg
> > 4 drwxr-xr-x 4 olaf olaf 4096 2008-08-21 16:26 Trac-0.11.1-py2.5.egg
> > 4 -rw-r--r-- 1 olaf olaf 312 2008-08-21 16:26 easy-install.pth
> > 4 drwxr-xr-x 5 olaf olaf 4096 2008-08-21 16:26
> > pysqlite-2.4.1-py2.5-linux-i686.egg
> > 4 -rw-r--r-- 1 olaf olaf 44 2008-08-27 08:45 python-subversion.pth
> > 324 -rw-r--r-- 1 olaf olaf 324858 2008-05-21 06:20
> > setuptools-0.6c8-py2.5.egg
> > 4 -rw-r--r-- 1 olaf olaf 29 2008-08-21 16:25 setuptools.pth
> > $
>
> > > 5. The contents of the .pth files in that sandbox site packages
> > > directory.
>
> > $ cat /path/to/SandBox/lib/python2.5/site-packages/*.pth
> > /usr/share/python-support/python-subversion
> > import sys; sys.__plen = len(sys.path)
> > ./setuptools-0.6c8-py2.5.egg
> > ./pysqlite-2.4.1-py2.5-linux-i686.egg
> > ./Trac-0.11.1-py2.5.egg
> > ./Genshi-0.5.1-py2.5-linux-i686.egg
> > import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:];
> > p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert =
> > p+len(new)
> > ./setuptools-0.6c8-py2.5.egg
> > $
>
> > > 6. What your WSGI script file is doing in respect of manipulations of
> > > sys.path or calls to site.addsitedir().
>
> > I'm using the trac.wsgi script generated by trac-admin's deploy
> > command modulo the sys.stderr logging you suggested. FWIW, I've
> > attached the script.
>
> > Hope this helps and thanks for helping me trouble shoot this.
>
> > > Graham
>
> > >> Still, I get an error message in the browser and the following in my
> > >> trac.log:
>
> > >> 2008-08-27 08:45:57,961 Trac[svn_fs] INFO: Failed to load Subversion
> > >> bindings
> > >> Traceback (most recent call last):
> > >> File
> > >> "/path/to/SandBox/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/ve
> > >> rsioncontrol/svn_fs.py", line 253, in __init__
> > >> _import_svn()
> > >> File
> > >> "/path/to/SandBox/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/ve
> > >> rsioncontrol/svn_fs.py", line 69, in _import_svn
> > >> from svn import fs, repos, core, delta
> > >> File "/usr/share/python-support/python-subversion/svn/fs.py", line
> > >> 19, in <module>
> > >> from libsvn.fs import *
> > >> File "/usr/share/python-support/python-subversion/libsvn/fs.py",
> > >> line 7, in <module>
> > >> import _fs
> > >> ImportError: No module named _fs
>
> > >> I'm clueless. Anyone have any ideas?
>
> > >> > Graham
>
> > >> > On Aug 26, 9:38 am, Olaf Meeuwissen <[EMAIL PROTECTED]> wrote:
> > >> >> Sorry, meant to get back to this earlier but work got in the way.
>
> > >> >> osimons <[EMAIL PROTECTED]> writes:
> > >> >> > On Aug 21, 5:02 am, Olaf Meeuwissen <[EMAIL PROTECTED]> wrote:
>
> > >> >> >> Is there an easy way to install the Subversion SWIG bindings in a
> > >> >> >> virtualenv, or two?
>
> > >> >> > Install the Subversion bindings against your correct main Python as
> > >> >> > usual,
>
> > >> >> That would be `apt-get install python-subversion` in my case. Note
> > >> >> that this package installs the *.py files and the native .so libs in
> > >> >> different places.
>
> > >> >> *.py in /usr/share/python-support/python-subversion/{svn,libsvn}
> > >> >> *.so in
> > >> >> /usr/lib/python-support/python-subversion/python2.[45]/libsvn
>
> > >> >> The libsvn_swig_py2.[45] .so's are in /usr/lib/.
>
> > >> >> > and in each virtualenv sitepackages derived from this Python
> > >> >> > add a .pth file that points to location of svn libraries.
>
> > >> >> > Like,
>
> > >> >> > $ echo "/opt/local/lib/svn-python2.4" > /path/to/my/virutalenv/lib/
> > >> >> > python2.4/site-packages/svn-python.pth
>
> > >> >> Did that.
>
> > >> >> $ cat /path/to/virtualenv/lib/python2.5/site-packages/svn-python.pth
> > >> >> /usr/lib/python-support/python-subversion/python2.5
> > >> >> /usr/lib/python-support/python-subversion
> > >> >> /usr/share/python-support/python-subversion
>
> > >> >> Restarted apache2 and fired up a new browser for good measure.
>
> > >> >> > (My /opt/local/lib/svn-python2.4 contains the directories 'svn' and
> > >> >> > 'libsvn')
>
> > >> >> Unfortunately, that didn't work.
> > >> >> Here's (what I think is) the relevant piece of the log:
>
> > >> >> 2008-08-26 08:25:48,471 Trac[svn_fs] INFO: Failed to load
> > >> >> Subversion bindings
> > >> >> Traceback (most recent call last):
> > >> >> File
> > >> >> "/path/to/virtualenv/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac
> > >> >> /versioncontrol/svn_fs.py", line 253, in __init__
> > >> >> _import_svn()
> > >> >> File
> > >> >> "/path/to/virtualenv/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac
> > >> >> /versioncontrol/svn_fs.py", line 69, in _import_svn
> > >> >> from svn import fs, repos, core, delta
> > >> >> File "/usr/share/python-support/python-subversion/svn/fs.py",
> > >> >> line 19, in <module>
> > >> >> from libsvn.fs import *
> > >> >> File "/usr/share/python-support/python-subversion/libsvn/fs.py",
> > >> >> line 7, in <module>
> > >> >> import _fs
> > >> >> ImportError: No module named _fs
>
> > >> >> FWIW, I'm using virtualenv-1.1 and using a virtualenv with site
> > >> >> packages (that is, created without the --no-site-packages option) as
> > >> >> my WSGIPythonHome works fine.
>
> > >> >> Any ideas?
>
> > --
> > Olaf Meeuwissen FLOSS Engineer -- AVASYS Corporation
> > FSF Associate Member #1962 sign up athttp://member.fsf.org/
>
> > trac.wsgi
> > 1KViewDownload
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Trac
Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/trac-users?hl=en
-~----------~----~----~----~------~----~------~--~---