...
Here is a sample set of instructions to build a python-packages tarball
cat > build.sub <<EOM
# Python build file
universe = vanilla
log = interactive.log
# Choose a version of Python from the table above
transfer_input_files = http://proxy.chtc.wisc.edu/SQUID/chtc/python37.tar.gz+IsBuildJob = true
requirements = (OpSysMajorVer =?= 7)
request_cpus = 1
request_memory = 2GB
request_disk = 2GB
queue
EOM
condor_submit -i build.sub
tar xfz python37.tar.gz
export PATH=${PWD}/python/bin:${PATH}
export PYTHONPATH=${PWD}/hera_calibration_packages
mkdir -p ${PYTHONPATH}
python3 -m pip install --target ${PYTHONPATH} numpy scipy astropy h5py toml six matplotlib scikit-learn cached-property
python3 -m pip install --target ${PYTHONPATH} healpy
python3 -m pip install --target ${PYTHONPATH} pyuvdata
python3 -m pip install --target ${PYTHONPATH} aipy
# trying more packages. This seems to work
python3 -m pip install --target ${PYTHONPATH} git+https://github.com/HERA-Team/pyuvdata.gitpython3 -m pip install --target ${PYTHONPATH} git+https://github.com/HERA-Team/linsolve.gitpython3 -m pip install --target ${PYTHONPATH} git+https://github.com/HERA-Team/hera_qm.gitpython3 -m pip install --target ${PYTHONPATH} git+https://github.com/HERA-Team/uvtools.gitpython3 -m pip install --target ${PYTHONPATH} git+https://github.com/HERA-Team/hera_cal.git# plaplant said "hera_opm is only used for setting up makeflow. so the
# execution host itself does not need it
tar cfz hera_calibration_packages.tar.gz hera_calibration_packages
exit