我正在尝试通过Python在Spark上运行bash命令。
我当前的简单代码如下:
import subprocess
print("Test start")
subprocess.Popen("conda install numpy=1.15.2 -n python35env--yes", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).wait()
print("Test end")
上面的代码已成功执行,我确实看到了打印语句"测试开始"和"测试结束",但是numpy
包没有安装在python35env环境中。
我是否缺少在 Spark 工作器节点中运行 conda install bash 命令的任何重要内容? 甚至在驱动程序节点上?
您可以尝试从可执行文件目录运行它。默认情况下,子进程从系统运行它。
subprocess.Popen("conda install numpy=1.15.2 -n python35env--yes", shell=True, stdout=subprocess.PIPE,
stderr=subprocess.PIPE, cwd = 'your conda excutable path')
使用子进程。
例:
import subprocess
result = subprocess.getoutput('<bash command>')