If you want to switch between multiple versions of Python, and/or keep ctree dependences out of your system site-packages, you can use virtualenv to create standalone python installations and switch between them easily.
To get started, install virtualenv using pip:
pip-2.7 install virtualenv
Then, create a virtual environment. We have a .gitignore entry in place to ignore venv-* directories:
cd $CTREE
virtualenv-2.7 venv-2.7
Use activate to switch to the new installation:
source venv-2.7/bin/activate
Check out your new python and pip binaries:
zsh% which python
./venv-2.7/bin/python
zsh% which pip
./venv-2.7/bin/pip
Install ctree dependencies using the current pip:
pip install nose Sphinx numpy coverage
cd $LLVMPY
LLVM_CONFIG_PATH=... python setup.py install
Change back to the ctree directory and run the test suite to make sure everything is okay:
cd $CTREE
nosetests
To switch back to your default python installation, run:
deactivate
You can re-activate the virtualenv at any time using:
source venv-2.7/bin/activate
If ctree is exiting uncleanly it may leave compilation directories in the temporary folder. If there are lots of them, rm may not be sufficient to remove them:
$ CTREE_TMP_DIR=/var/folders/k3/_z9txmtx3vd1t_64hbx9y4qr0000gn/T
$ rm -rf $CTREE_TMP_DIR/ctree-*
zsh: argument list too long: rm
Use a command like the following to rememdy the situation:
$ find $CTREE_TMP_DIR -name "ctree-*" | xargs rm -rf