Using virtualenv has a lot of advantages and I strongly recommend you try using a virtual environment first. But when using batch systems to run a script across a cluster it might be easier to install packages to a custom location and let python load from there. It could be a read-only fast file share for example. The first step is to set the environment variables pip is interested in:

export PYTHONUSERBASE=/some/location/pypi/
export PATH=$PATH:/some/location/pypi/bin
pip3 install --user package

Setting the two environment variables is often enough to get it going. You can find more information in the online documentation. You have make sure that these are also set every time the Python interpreter is running so it knows where to find the packages.