title: Installing OpenCV fails because it cannot find "skbuild"
body: <p>I have a docker image that I need to install openCV in it and from yesterday it started to fail because it cannot find the &quot;skbuild&quot; module:</p>
  <pre class="lang-sh prettyprint-override"><code>Step 12/24 : RUN pip install opencv-python opencv-contrib-python
   ---&gt; Running in a0f746a23aed
  Collecting opencv-python
    Downloading https://files.pythonhosted.org/packages/77/f5/49f034f8d109efcf9b7e98fbc051878b83b2f02a1c73f92bbd37f317288e/opencv-python-4.4.0.42.tar.gz (88.9MB)
      Complete output from command python setup.py egg_info:
      Traceback (most recent call last):
        File &quot;&lt;string&gt;&quot;, line 1, in &lt;module&gt;
        File &quot;/tmp/pip-build-cciracwm/opencv-python/setup.py&quot;, line 9, in &lt;module&gt;
          import skbuild
      ModuleNotFoundError: No module named 'skbuild'
  </code></pre>
  <p>And on the host also I cannot find that module and <code>pip search</code> is either return nothing or returns a server error:</p>
  <pre class="lang-sh prettyprint-override"><code>sudo pip3 search skbuild
  WARNING: The directory '/home/ali/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
  ERROR: Exception:
  Traceback (most recent call last):
    File &quot;/usr/local/lib/python3.6/dist-packages/pip/_internal/cli/base_command.py&quot;, line 216, in _main
      status = self.run(options, args)
    File &quot;/usr/local/lib/python3.6/dist-packages/pip/_internal/commands/search.py&quot;, line 60, in run
      pypi_hits = self.search(query, options)
    File &quot;/usr/local/lib/python3.6/dist-packages/pip/_internal/commands/search.py&quot;, line 80, in search
      hits = pypi.search({'name': query, 'summary': query}, 'or')
    File &quot;/usr/lib/python3.6/xmlrpc/client.py&quot;, line 1112, in __call__
      return self.__send(self.__name, args)
    File &quot;/usr/lib/python3.6/xmlrpc/client.py&quot;, line 1452, in __request
      verbose=self.__verbose
    File &quot;/usr/local/lib/python3.6/dist-packages/pip/_internal/network/xmlrpc.py&quot;, line 45, in request
      return self.parse_response(response.raw)
    File &quot;/usr/lib/python3.6/xmlrpc/client.py&quot;, line 1342, in parse_response
      return u.close()
    File &quot;/usr/lib/python3.6/xmlrpc/client.py&quot;, line 656, in close
      raise Fault(**self._stack[0])
  xmlrpc.client.Fault: &lt;Fault -32403: 'server error; service unavailable'&gt;
  </code></pre>
  <p>Is this because their server has some problems or it is related to my pip?</p>
  <h2>Update</h2>
  <p>I tried it on different python and pip versions, python versions 3.6 and 3.7 and pip version 19.12 and 20.2.2 and 9.0.1 (the one inside image).</p>
  <h3>Update 2</h3>
  <p>I added <code>pip install scikit-build</code> one step before opencv installation but I get another error related to cmake:</p>
  <pre class="lang-sh prettyprint-override"><code>Step 12/25 : RUN pip install scikit-build
   ---&gt; Running in afe0c5c0fca0
  Collecting scikit-build
    Downloading https://files.pythonhosted.org/packages/78/c9/7c2c7397ea64e36ebb292446896edcdecbb8c1aa6b9a1a32f6f67984c3df/scikit_build-0.11.1-py2.py3-none-any.whl (72kB)
  Collecting packaging (from scikit-build)
    Downloading https://files.pythonhosted.org/packages/46/19/c5ab91b1b05cfe63cccd5cfc971db9214c6dd6ced54e33c30d5af1d2bc43/packaging-20.4-py2.py3-none-any.whl
  Requirement already satisfied: wheel&gt;=0.29.0 in /usr/lib/python3/dist-packages (from scikit-build)
  Collecting distro (from scikit-build)
    Downloading https://files.pythonhosted.org/packages/25/b7/b3c4270a11414cb22c6352ebc7a83aaa3712043be29daa05018fd5a5c956/distro-1.5.0-py2.py3-none-any.whl
  Requirement already satisfied: setuptools&gt;=28.0.0; python_version &gt;= &quot;3&quot; in /usr/lib/python3/dist-packages (from scikit-build)
  Requirement already satisfied: six in /usr/lib/python3/dist-packages (from packaging-&gt;scikit-build)
  Collecting pyparsing&gt;=2.0.2 (from packaging-&gt;scikit-build)
    Downloading https://files.pythonhosted.org/packages/8a/bb/488841f56197b13700afd5658fc279a2025a39e22449b7cf29864669b15d/pyparsing-2.4.7-py2.py3-none-any.whl (67kB)
  Installing collected packages: pyparsing, packaging, distro, scikit-build
  Successfully installed distro-1.5.0 packaging-20.4 pyparsing-2.4.7 scikit-build-0.11.1
  Removing intermediate container afe0c5c0fca0
   ---&gt; 533658ddf26d
  Step 13/25 : RUN pip install opencv-python opencv-contrib-python
   ---&gt; Running in 0f2c03bc042a
  Collecting opencv-python
    Downloading https://files.pythonhosted.org/packages/77/f5/49f034f8d109efcf9b7e98fbc051878b83b2f02a1c73f92bbd37f317288e/opencv-python-4.4.0.42.tar.gz (88.9MB)
  Collecting opencv-contrib-python
    Downloading https://files.pythonhosted.org/packages/48/98/05bd8e00c71b66c4e7847cc051cac404191d904df58b51a7dcc3767ff747/opencv_contrib_python-4.2.0.34-cp37-cp37m-manylinux1_x86_64.whl (34.2MB)
  Collecting numpy&gt;=1.14.5 (from opencv-python)
    Downloading https://files.pythonhosted.org/packages/3d/d1/90cd7e0b27ee86d77f5386d38b74520486100286d50772377791b6ef22ff/numpy-1.19.1-cp37-cp37m-manylinux1_x86_64.whl (13.4MB)
  Building wheels for collected packages: opencv-python
    Running setup.py bdist_wheel for opencv-python: started
    Running setup.py bdist_wheel for opencv-python: finished with status 'error'
    Complete output from command /usr/bin/python -u -c &quot;import setuptools, tokenize;__file__='/tmp/pip-build-w49xv99a/opencv-python/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))&quot; bdist_wheel -d /tmp/tmpycj03zlwpip-wheel- --python-tag cp37:
    /usr/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'long_description_content_type'
      warnings.warn(msg)
    Traceback (most recent call last):
      File &quot;/usr/local/lib/python3.7/dist-packages/skbuild/setuptools_wrap.py&quot;, line 560, in setup
        cmkr = cmaker.CMaker(cmake_executable)
      File &quot;/usr/local/lib/python3.7/dist-packages/skbuild/cmaker.py&quot;, line 95, in __init__
        self.cmake_version = get_cmake_version(self.cmake_executable)
      File &quot;/usr/local/lib/python3.7/dist-packages/skbuild/cmaker.py&quot;, line 82, in get_cmake_version
        &quot;Problem with the CMake installation, aborting build. CMake executable is %s&quot; % cmake_executable)
    
    Problem with the CMake installation, aborting build. CMake executable is cmake
    
    ----------------------------------------
    Failed building wheel for opencv-python
    Running setup.py clean for opencv-python
  Failed to build opencv-python
  Installing collected packages: numpy, opencv-python, opencv-contrib-python
    Found existing installation: numpy 1.13.3
      Not uninstalling numpy at /usr/lib/python3/dist-packages, outside environment /usr
    Running setup.py install for opencv-python: started
      Running setup.py install for opencv-python: finished with status 'error'
      Complete output from command /usr/bin/python -u -c &quot;import setuptools, tokenize;__file__='/tmp/pip-build-w49xv99a/opencv-python/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))&quot; install --record /tmp/pip-maky1uyw-record/install-record.txt --single-version-externally-managed --compile:
      /usr/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'long_description_content_type'
        warnings.warn(msg)
      Traceback (most recent call last):
        File &quot;/usr/local/lib/python3.7/dist-packages/skbuild/setuptools_wrap.py&quot;, line 560, in setup
          cmkr = cmaker.CMaker(cmake_executable)
        File &quot;/usr/local/lib/python3.7/dist-packages/skbuild/cmaker.py&quot;, line 95, in __init__
          self.cmake_version = get_cmake_version(self.cmake_executable)
        File &quot;/usr/local/lib/python3.7/dist-packages/skbuild/cmaker.py&quot;, line 82, in get_cmake_version
          &quot;Problem with the CMake installation, aborting build. CMake executable is %s&quot; % cmake_executable)
      
      Problem with the CMake installation, aborting build. CMake executable is cmake
  </code></pre>