25 August 2017

This tutorial describes how to setup virtualenv on ecelinux. If your are installing it in another environment, skip up to Creating virtualenv step.

ECE Linux Machines

There are 8 linux machines available: ecelinux[1-8].uwaterloo.ca. The instructions have been tested on the newer machines ecelinux[1-3].uwaterloo.ca. Please use those machines only. When working remotely, first login to ecelinux4.uwaterloo.ca and then to one of the machines above. For example

$ ssh user@ecelinux4.uwaterloo.ca
$ ssh user@ecelinux1.uwaterloo.ca

Switching shell to bash

Check your current shell

$ echo $SHELL
/bin/csh

If the current shell is /bin/csh, switch it to bash using the web interface here. See the bottom of the page under the heading Unix Shell Change.

# replace USER with your watiam id
$ ssh USER@ecelinux.uwaterloo.ca
$ echo $SHELL
/bin/bash

If changing your shell through the above instructions does not work (or if you prefer csh in general), you can temporarily switch to bash as follows:

$ bash -l

Create virtualenv space for the course

Detailed instructions are available at http://docs.python-guide.org/en/latest/dev/virtualenvs

$ mkdir ece650
$ cd ece650
$ virtualenv venv

Activate virtualenv (this needs to be done at every login to use the environment)

$ source ./venv/bin/activate
(venv) [user@ecelinux ece650]$

Install required packages

You might find it convenient to use the coverage package to evaluate the quality of your testing.

$ source ./venv/bin/activate
$ pip install coverage

To de-active the environment

(venv) [user@ecelinux ece650]$ deactivate

To activate and deactivate virtualenv during each login session

$ source ./venv/bin/activate
(venv) $ coverage --help
(venv) $ deactivate
$

After virtualenv is activated you should be able to use python, coverage, ipython, and other python commands as usual.