diff --git a/other-requirements.txt b/other-requirements.txt
new file mode 100644
index 0000000000..47f253620b
--- /dev/null
+++ b/other-requirements.txt
@@ -0,0 +1,23 @@
+# These are needed to build all the things in global-requirements, which we do
+# for integration testing (see tools/integration.sh.
+python-all-dev
+python3-all-dev
+libvirt-dev
+libxml2-dev
+libxslt-dev
+libmysqlclient-dev
+libpq-dev
+libnspr4-dev
+pkg-config
+libsqlite3-dev
+libzmq-dev
+libffi-dev
+libldap2-dev
+libsasl2-dev
+ccache
+# NOTE(flaper87): Temporarly needed for proton
+uuid-dev
+swig
+# Python things that change rarely and we're willing to risk breakage vs latest
+python-numpy [python]
+python-yaml [python]
diff --git a/tools/integration.sh b/tools/integration.sh
index b9c9351e93..43def90d53 100644
--- a/tools/integration.sh
+++ b/tools/integration.sh
@@ -25,15 +25,8 @@ BASE=${BASE:-/opt/stack}
 
 REPODIR=${REPODIR:-$BASE/new}
 
-# TODO: Figure out how to get this on to the box properly
-sudo apt-get install -y --force-yes libvirt-dev libxml2-dev libxslt-dev libmysqlclient-dev libpq-dev libnspr4-dev pkg-config libsqlite3-dev libzmq-dev libffi-dev libldap2-dev libsasl2-dev ccache
-
-# NOTE(flaper87): Temporarly needed for proton
-sudo apt-get install -y --force-yes uuid-dev swig
-
-# FOR numpy / pyyaml
-sudo apt-get build-dep -y --force-yes python-numpy
-sudo apt-get build-dep -y --force-yes python-yaml
+root=$(dirname $0)/..
+sudo apt-get install -y --force-yes $(/usr/bindep-env/bin/bindep -b python -f $root/other-requirements.txt)
 
 # And use ccache explitly
 export PATH=/usr/lib/ccache:$PATH