python - 在没有图形界面的集群上使用Python和opencv(ImportError : libXdmcp. so.6)

标签 python opencv

我正在使用 Python+Tensorflow 在高性能计算集群上进行 CNN 训练。我需要 opencv (cv2) 来进行一些数据扩充和预处理。我执行 python 代码的节点没有图形界面。然而,python 中的 cv2 想要加载一个没有图形界面就无法使用的文件,它是 X Display Manager Control Protocol 库的一部分。

import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/username/anaconda3/lib/python3.5/site-packages/cv2/__init__.py", line 9, in <module>
    from .cv2 import *
ImportError: libXdmcp.so.6: cannot open shared object file: No such file or directory

我有什么想法可以让它发挥作用吗?我让它在几台具有图形界面的独立机器上工作。

集群中的所有机器都使用 Red Hat Linux。我在 Anaconda3 中使用 Python3.5。我的最终目标是使用需要 cv2 的 imgaug 包(https://github.com/aleju/imgaug)。我使用 opencv-python ( https://pypi.python.org/pypi/opencv-python ) 安装了 opencv。我没有管理员权限,因此我几乎无法安装系统相关的东西。

最佳答案

我能够通过安装 libXdmcp 来解决这个问题:

yum install libXdmcp -y

或者:

apt install libXdmcp -y

取决于您集群的操作系统。

此外,由于您提到了计算集群,如果您使用 Jupyter 或 Zeppelin 等通用计算工具,您可以使用 !或 %sh 在笔记本本身内运行 bash 命令。

关于python - 在没有图形界面的集群上使用Python和opencv(ImportError : libXdmcp. so.6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46240444/

相关文章:

python - 用于输出到文件的密码生成器

对逗号分隔数字列表进行排序的 Pythonic 方法

javascript - Python Selenium 元素并不难处理

opencv - 训练级联分类器,同时将图像注释也作为特征包含在内

python - OpenCV - 如何通过斜线将图像分割为两个区域?

c++ - OpenCV VS 2010 C++ CMake

包含不确定性/误差线的Python数据类型?

python - 如何恢复(重新打包)3D 卷数组的 view_as_block?

c++ - cuda opencv 未定义对 `nppiConvert_16u8u_C4R` 的引用

c++ - Open-CV - 加载不正确