Ctree Development Tips¶
Using VirtualEnv¶
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
Cleaning the Folder of Temporary Files¶
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