Install OpenCV 4 in Python 3.7 / 2.7

OpenCV 4.2 works with Python 2.7, 3.5, 3.6, 3.7, 3.8. The unofficial OpenCV PyPi wheels work for Linux, Mac and Windows.

pip install OpenCV for Python

Importantly, the pip install methods below also work for the OpenCV GUI such as imshow etc.

pip install opencv-python

ARM / Raspberry Pi

pip install opencv-python

also works for certain ARM platforms like the Raspberry Pi. Note: If you install on an ARMv7 Raspberry Pi (or ARMv8 running in ARMv7 e.g. with Raspbian), you will need to pip uninstall and pip install upon inserting the SD card into an ARMv6 system, or

SIGILL Illegal Instruction

error will result.

For example, setting up a Python OpenCV algorithm on a Raspberry Pi 4 then inserting the same SD card into a Raspberry Pi Zero / Zero W will require reinstalling OpenCV. OpenCV is trivial and fast to install on a Raspberry Pi via pip as described above.

OpenCV with extra contribs

For those desired the latest extended functionality that hasn’t yet been incorporated into the core package, OpenCV including the Extra contributed modules may be obtained by:

pip install opencv-contrib-python


Python executable selection

If you get the ... is not supported on this platform error be sure you’re not accidentally using Python 2.7 instead of Python 3, you may have to manually specify the path for the pip command e.g.

c:\anaconda3\scripts\python -m pip install opencv-python

Test Python OpenCV install

We made several test scripts to try out the OpenCV install.

compile source

You can compile and install OpenCV for Python. Or compile OpenCV with extra contributed packages. Compiling yourself allows customizing and optimizing OpenCV for your computer (e.g. using GPU, TBB, OpenCL, etc.).


The conda install opencv and conda install -c conda-forge opencv methods for OpenCV continue to be BROKEN for video/image reading and display. Use pip install above instead.