Would it make more sense to try to package PySpark dependencies inside a jar, instead of requiring this extra step? Since jars are just zips, Python should be able to run against them in the same way, so most of this PR wouldn't have to be changed.