在setup.py

时间:2018-04-23 13:57:28

标签: python opencv importerror

我不明白我做错了什么,在尝试导入cv2时,我收到以下错误:

  /mnt/jenkins/workspace/project/client/py3env/lib/python3.5/site-packages/opencv_
  python-3.4.0.12-py3.5-linuxx86_64.egg/cv2/__init__.py"()

      7 
      8 # make IDE's (PyCharm) autocompletion happy
 ---->9 from .cv2 import *
      10 

 ImportError: libSM.so.6: cannot open shared object file: No such 
 file or directory

我正在使用setuptool,我的setup.py看起来像这样:

setup(
   name="Modulename",
   version="0.1.0",
   packages=find_packages(),
   install_requires=["numpy", "matplotlib", "tqdm", "opencv-python"],    
 )

在我的requirements.txt文件中,我有:

   opencv-python == 3.4.0.12
   numpy == 1.14.2
   matplotlib == 2.2.2

对同一主题有疑问,但他们用

解决了问题
apt update && apt install -y libsm6 libxext6

对我来说,当使用setup.py时,import cv2在终端和本地Pycharm中工作,但不能通过Jenkins工作。 欢迎任何帮助!

1 个答案:

答案 0 :(得分:1)

使用opencv-python-headless软件包而不是opencv-python。这是出于对libSM6的依赖。

pip install opencv-python-headless