Single pip3 install invocation

Change-Id: I5ba2171dc5465fb7528b3a20d7c5900481568ebb
diff --git a/install-prereqs.sh b/install-prereqs.sh
index a48f205..401f5de 100755
--- a/install-prereqs.sh
+++ b/install-prereqs.sh
@@ -87,25 +87,6 @@
     zlib1g-dev
 )
 
-PYTHON3_PACKAGES=(
-    camkes-deps
-    hjson
-    mako
-    matplotlib
-    meson==0.54.0
-    netifaces
-    pandas
-    psutil
-    pyfzf
-    pyyaml
-    requests
-    robotframework==4.0.1
-    sel4-deps
-    setuptools
-    tempita
-    wget
-)
-
 function die {
     [[ ! -z "$@" ]] && echo "$@"
     exit 1
@@ -143,16 +124,16 @@
         die
     fi
 
-    for package in "${PYTHON3_PACKAGES[@]}"; do
-        try pip3 install "${package}"
-    done
-
     pushd ${ROOTDIR}/toolchain/tockloader
         pip3 install -e .
     popd
 
     if [[ ! -z ${PYTHON_REQUIREMENTS} ]]; then
-        pip3 install -r "${PYTHON_REQUIREMENTS}"
+        PIP_INSTALL_ARGS=""
+        for REQ_FILE in ${PYTHON_REQUIREMENTS} ; do
+            PIP_INSTALL_ARGS="${PIP_INSTALL_ARGS} -r ${REQ_FILE}"
+        done
+        pip3 install ${PIP_INSTALL_ARGS}
     fi
 }
 
diff --git a/python-requirements.txt b/python-requirements.txt
new file mode 100644
index 0000000..0d41c52
--- /dev/null
+++ b/python-requirements.txt
@@ -0,0 +1,15 @@
+camkes-deps
+hjson
+mako
+matplotlib
+netifaces
+pandas
+psutil
+pyfzf
+pyyaml
+requests
+robotframework==4.0.1
+sel4-deps
+setuptools
+tempita
+wget