简体   繁体   中英

Failed to build opencv-python

I'm using pycharm. I created a virtual environment to use and when I tried to install the opencv library, I got an error message.

I am using the pip command to install openCV:

Command:pip install opencv-python

This the the error message that appears when I use the command:

Error: -

Collecting opencv-python
  Using cached https://files.pythonhosted.org/packages/e0/6f/237b730227927c15a68ec831a51bc83837bb65d54bf9651c08b474201b9a/opencv-python-4.4.0.40.tar.gz
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Requirement already satisfied: numpy>=1.17.3 in f:\python\rio python\project rio\reco_env\lib\site-packages (from opencv-python) (1.19.1)
Building wheels for collected packages: opencv-python
  Building wheel for opencv-python (PEP 517) ... error
  Complete output from command "F:\Python\Rio Python\Project Rio\Reco_env\Scripts\python.exe" "F:\Python\Rio Python\Project Rio\Reco_env\lib\site-packages\pip-19.0.3-py3.8.egg\pip\_vendor\pep517\_in_process.py" build_wheel C:\Users\Rio\AppData\Local\Temp\tmpew_pbwjp:
  Not searching for unused variables given on the command line.
  CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
  -- Configuring incomplete, errors occurred!
  See also "C:/Users/Rio/AppData/Local/Temp/pip-install-gyo_26q6/opencv-python/_cmake_test_compile/build/CMakeFiles/CMakeOutput.log".
  Not searching for unused variables given on the command line.
  CMake Error at CMakeLists.txt:2 (PROJECT):
    Generator

      Visual Studio 15 2017

    could not find any instance of Visual Studio.



  -- Configuring incomplete, errors occurred!
  See also "C:/Users/Rio/AppData/Local/Temp/pip-install-gyo_26q6/opencv-python/_cmake_test_compile/build/CMakeFiles/CMakeOutput.log".
  Not searching for unused variables given on the command line.
  -- The C compiler identification is unknown
  CMake Error at CMakeLists.txt:3 (ENABLE_LANGUAGE):
    The CMAKE_C_COMPILER:

      cl

    is not a full path and was not found in the PATH.

    To use the NMake generator with Visual C++, cmake must be run from a shell
    that can use the compiler cl from the command line.  This environment is
    unable to invoke the cl compiler.  To fix this problem, run cmake from the
    Visual Studio Command Prompt (vcvarsall.bat).

    Tell CMake where to find the compiler by setting either the environment
    variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
    the compiler, or to the compiler name if it is in the PATH.


  -- Configuring incomplete, errors occurred!
  See also "C:/Users/Rio/AppData/Local/Temp/pip-install-gyo_26q6/opencv-python/_cmake_test_compile/build/CMakeFiles/CMakeOutput.log".
  See also "C:/Users/Rio/AppData/Local/Temp/pip-install-gyo_26q6/opencv-python/_cmake_test_compile/build/CMakeFiles/CMakeError.log".
  Not searching for unused variables given on the command line.
  -- The C compiler identification is unknown
  CMake Error at CMakeLists.txt:3 (ENABLE_LANGUAGE):
    The CMAKE_C_COMPILER:

      cl

    is not a full path and was not found in the PATH.

    To use the JOM generator with Visual C++, cmake must be run from a shell
    that can use the compiler cl from the command line.  This environment is
    unable to invoke the cl compiler.  To fix this problem, run cmake from the
    Visual Studio Command Prompt (vcvarsall.bat).

    Tell CMake where to find the compiler by setting either the environment
    variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
    the compiler, or to the compiler name if it is in the PATH.


  -- Configuring incomplete, errors occurred!
  See also "C:/Users/Rio/AppData/Local/Temp/pip-install-gyo_26q6/opencv-python/_cmake_test_compile/build/CMakeFiles/CMakeOutput.log".
  See also "C:/Users/Rio/AppData/Local/Temp/pip-install-gyo_26q6/opencv-python/_cmake_test_compile/build/CMakeFiles/CMakeError.log".


  --------------------------------------------------------------------------------
  -- Trying "Ninja (Visual Studio 15 2017 v141)" generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying "Ninja (Visual Studio 15 2017 v141)" generator - failure
  --------------------------------------------------------------------------------



  --------------------------------------------------------------------------------
  -- Trying "Visual Studio 15 2017 v141" generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying "Visual Studio 15 2017 v141" generator - failure
  --------------------------------------------------------------------------------



  --------------------------------------------------------------------------------
  -- Trying "NMake Makefiles (Visual Studio 15 2017 v141)" generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying "NMake Makefiles (Visual Studio 15 2017 v141)" generator - failure
  --------------------------------------------------------------------------------



  --------------------------------------------------------------------------------
  -- Trying "NMake Makefiles JOM (Visual Studio 15 2017 v141)" generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying "NMake Makefiles JOM (Visual Studio 15 2017 v141)" generator - failure
  --------------------------------------------------------------------------------

  ********************************************************************************
  scikit-build could not get a working generator for your system. Aborting build.

  Building windows wheels for Python 3.8 requires Microsoft Visual Studio 2017.
  Get it with "Visual Studio 2017":

    https://visualstudio.microsoft.com/vs/

  ********************************************************************************

  ----------------------------------------
  Failed building wheel for opencv-python
  Running setup.py clean for opencv-python
Failed to build opencv-python
Could not build wheels for opencv-python which use PEP 517 and cannot be installed directly

I also installed Visual Studio Community 2019, and tried with Visual Studio Community 2017, but I am still having the same issue.

Does anyone know how to solve this please?

solution: pip3 install --upgrade pip setuptools wheel

Install anaconda...I also had the same issue...But anaconda just paves it off

I believe your issue is happening because Cmake cannot find the cl compiler in your system's path. Try to locate it depending on your visual studio installed and then add it your system's path.

This is an example of the path where the cl.exe can be found. Now mine is 14.0, but yours might be different.

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

I tried all the solutions and none of them solved my issue. Firstly, I was trying to download opencv-python-headless from my company's requirements file. Although, every time I executed the install operation it failed and gave this error.

conda install -c fastai opencv-python-headless=4.5.2.54

I separately installed opencv-python-headless like above and this really solved my issue, maybe it might be useful for too. So, maybe instead of pip, conda might be the solution.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM