Isso parece só uma questão de environment, talvez as env vars disponíveis para o script não tem a $JAVA_HOME
exportada. Às vezes manipulando a variável $PATH
resolve muita coisa. Não sei como você inicia esse script Python, nem em que SO. Vou supor que é linux, então você poderia fazer isso no início do script:
import os;
os.environ["JAVA_HOME"] = "/path/to/java-stuff" # exemplo: /usr/lib/jvm/jdk1.7.0_25_x64
ou, diretamente antes do script:
JAVA_HOME=/path/to/java-stuff /path/to/my/script.py
isso acima vai exportar a variável e ela estará disponível inclusive pra sessões subshell