QuickFix: ViewVC ImportError: No module named svn error

Recently I was in need to update a old subversion server to latest one in a CentOS 5.2 box. I removed the older rpms and compiled subversion from latest source. Everything seems fine except ViewVC which is used to browse svn repositories.

Following error was occurring:

An Exception Has Occurred
Python Traceback
 
Traceback (most recent call last):
  File "/usr/local/viewvc-1.1/lib/viewvc.py", line 4065, in main
    request.run_viewvc()
  File "/usr/local/viewvc-1.1/lib/viewvc.py", line 403, in run_viewvc
    self.view_func(self)
  File "/usr/local/viewvc-1.1/lib/viewvc.py", line 1662, in view_roots
    allroots = list_roots(request)
  File "/usr/local/viewvc-1.1/lib/viewvc.py", line 3922, in list_roots
    cfg.utilities, cfg.options.svn_config_dir)
  File "/usr/local/viewvc-1.1/lib/vclib/svn/__init__.py", line 53, in SubversionRepository
    import svn_repos
  File "/usr/local/viewvc-1.1/lib/vclib/svn/svn_repos.py", line 25, in ?
    from svn import fs, repos, core, client, delta
ImportError: No module named svn

Solution: You need to install python bindings for svn and may also need to install python-devel and python-subversion.

Step 1: Check whether SWIG library is installed in your system or not (most distribution already have):

$ rpm -qa | grep -i swig
swig-1.3.29-2.el5

Download, install and configure ViewVC for Subversion

ViewVC is a Subversion repository browser software having many useful features. You need python and a web browser to run it. If you are maintaining a Subversion server, you should install it to view repositories, files, branches, directories, versions or comparison between versions.

Step 1. Download and install
Get the latest version of viewvc from here, when writing of this article the latest version was 1.2-dev. I’m using the development branch, you can use more stable. Untar it and start installation:

$ tar xzf viewvc-1.2-dev.tar.gz
$ cd viewvc-1.2-dev
$ ./viewvc-install

Step 2. Installation
Answer simple questions. Default choice is okay for normal operation.