当 --archive 到 yarn 集群时,conda 如何处理 cv2 的 .so

How conda handle .so of cv2 when --archive to yarn cluster

我们在 pyspark 的工作节点上使用 cv2 (opencv-python),所以我们使用 conda pack--archive 通过 yarn 集群准备环境,但是我们遇到了一个运行

期间出错
ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory

但是,我们查看conda pack生成的environment.zip,里面有很多.so个文件

一般如果.so存在,解决方法是通过系统环境变量添加lib路径或者在python3中添加/etc/ld.so.conf.d,但是如果有,很多python packages depended on .so file 都会引发错误,但这是我第一次看到这个错误,这是由 cv2

引起的

conda pack使用ubuntu14,yarnos版本是ubuntu16

pos真正的原因是什么?使用 yarn cluster 时 conda 如何处理 conda pack zip 文件?

找到答案了,是相对opencv版本的

到目前为止,我们发现 opencv==3.4.2 有效