User Tools

Site Tools



PyVrui is a Python wrapper for the Vrui library, using the Py++ code generator. This allows Cave applications to be written in the Python language instead of C++.

Source Code

The repository is located at and has anonymous read-only access. Cave developers can commit changes using their campus Kerberos login.

Release Notes

Installing PyVrui and PyBullet

In July 2011, Ed and Dawn worked on installing PyVrui and PyBullet on Dawn's OS 10.6.8 Here's how we successfully got them to run with a few comments. Instructions for installing PyVrui on Linux can be found here.


We first tried to build them against Enthought Python Distribution with Boost that Dawn had installed for Mycelia. We had a variety of problems and decided to use the system python and the version of Boost that Ed had used. However, there were other issues with Dawn's computer including some architecture issues and a gccxml installation with a xml parser but. It may be that these problems were the cause of all of the errors and the build may work against EPD and other versions of Boost. However, we did not test this. Also, in an attempt to fix the xml error, Dawn installed Xcode v4. This should not be necessary, but I've mentioned it here for completeness.

Some of the steps are in a required order and some are not.

Boost is a very sensitive software package, with many interface dependencies. It has to be built against the right python to work. If it isn't, a huge number of case call (I think that's what Ed called them) errors are thrown and have to be dealt with.

Detailed Steps

Prerequisites: ( with the following packages, 134 MB)

	cmake 2.6 or later	#Dawn already had, but in the pyvrui_preqs folder
	Boost 1.36 or later 
	Vrui 1-68
	pyplusplus-1.0.0  #patched version of Py++ from Ed

Unpack these tar/zip packages into ~/src (skipped cmake because Dawn has it):


Install PyOpenGL:

	cd ~/src/PyOpenGL-3.0.1
	python install

Install gccxml:

	cd ~/src 
	mkdir gccxml_build 
	cd gccxml_build 
	cmake ../gccxml
	sudo make install

Install pyplusplus:

	cd ~/src/Py++-1.0.0
	python install
  • Remove pyplusplus from installed version of python that you will build against #-need to do this in system python if using that
  • Unpack pyplusplus_for_pyvuri.tgz in installed version of python

Install pygccxml:

	cd ~/src/pygcc-1.0.0
	python install

Install pypputils:

	cd ~/src/pypputils
	python install

Install boost:

	cd ~/src/boost
	./     #- configures boost with knowledge of the darwin architecture
	sudo ./bjam install

Install pyVrui:

Makefile changes: #will vary if not using the system python

  • BOOST_LIBRARY := boost_python
  • PYTHON_LIBRARY := python2.6
	cd ~/src
	ln -s Vrui-1.0-068/ Vrui-1.0	#- Makes a link in ~/src to the current version of Vrui (or could change the Makefile) 
	cp ~/src/pyvrui_prereqs/pyVrui_headers.h ~/src/Vrui-1.0-068
	cp ~/src/pyvrui_prereqs/Vrui-1.0.068_Math_Constants.h  ~/src/Vrui-1.0-068/Math/Constants.h
	cp ~/src/pyvrui_prereqs/Vrui-1.0-068_SceneGraph_GeometryNode.h ~/src/Vrui-1.0-068/SceneGraph/GeometryNode.h #- adds a definition that was left out
	cd ~/src/pyVrui
	make install

Install bullet:


	cd ~/src/bullet-2.75
	  make install

Building bullet on Ubuntu Linux: (didn’t test on Dawn’s computer…)

	  apt-get install freeglut3-dev
	  sudo make install


	cd bullet-2.75/Demos

Install pybullet:

Makefile changes: #will vary if not using the system python

  • BOOST_LIBRARY := boost_python
  • PYTHON_LIBRARY := python2.6
	make install
keckcaves/pyvrui.txt · Last modified: 2011/11/03 11:17 by jvanaals