diff --git a/README.md b/README.md
index e710f65ed2144d4e6bb3fc21251d2f55e3a7c49d..cbfaa260c01885383eac5a0eca583d0b21599f1d 100644
--- a/README.md
+++ b/README.md
@@ -38,7 +38,7 @@ Note that before re-running `docker-compose up` you need to run `docker-compose
 ```
 virtualenv -p python3 loom_client_env
 source loom_client_env/bin/activate
-pip3 install cloudpickle protobuf
+pip3 install -r python/requirements.txt
 cd ./python
 chmod +x generate.sh
 ./generate.sh
diff --git a/python/requirements.txt b/python/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a4ac96967438276ad4153e6fe74f99b528ad286b
--- /dev/null
+++ b/python/requirements.txt
@@ -0,0 +1,3 @@
+bokeh==0.12.4
+protobuf==3.2.0
+cloudpickle==0.2.2