Install the ZED Python API

This section explains how to use the ZED SDK in Python 3 on Windows and Linux platforms.

Getting Started #

The Python API is a wrapper around the ZED SDK which is written in C++ optimized code. We make the ZED SDK accessible from external Python code using Cython.

To start using the ZED SDK in Python, you will need to install the following dependencies on your system:

  • ZED SDK (see Installation section)
  • Python 3.6+ (x64)
  • Cython 0.26+
  • Numpy 1.13+
  • OpenCV Python (optional)
  • PyOpenGL (optional)

Make sure to install Python (x64 version) and the pip package manager. Then install the dependencies via pip in a terminal.

$ python -m pip install cython numpy opencv-python pyopengl

Installing the Python API #

A Python script is available in the ZED SDK installation folder and can automatically detect your platform, CUDA and Python version and download the corresponding pre-compiled Python API package.

Note: On Linux systems, this script can be run automatically when running the SDK installer. Press Y if you want to do so:

Do you want to install the Python API (recommended) [Y/n] ?

Running the install script #

Windows

The Python install script is located in C:\Program Files (x86)\ZED SDK\.

Make sure you have admin access to run it in the Program Files folder, otherwise, you will have a Permission denied error. You can still copy the file into another location to run it without permissions.

Linux

The Python install script is located in /usr/local/zed/.

Run the script:

$ cd "/usr/local/zed/"
$ python3 get_python_api.py

    # The script displays the detected platform versions
    Detected platform:
        ubuntu18
        Python 3.6
        CUDA 11.0
        ZED SDK 3.5

    # Downloads the corresponding whl package
    Checking if https://download.stereolabs.com/zedsdk/3.5/ubuntu18/cu110/py36 exists and is available
    Found ! Downloading python package into /usr/local/zed/pyzed-3.5-cp36-cp36m-linux_x86_64.whl

    # The script installs the Python API and gives instructions on how to do it manually if needed
    Processing ./pyzed-3.5-cp36-cp36m-linux_x86_64.whl
    Successfully installed pyzed-3.5
    To install it later or on a different environment run :
      python -m pip install --ignore-installed /usr/local/zed/pyzed-3.5-cp36-cp36m-linux_x86_64.whl

That’s it! The Python API is now installed. To get started, check out our Tutorials and Samples.

Note: If you are using a virtual environment, make sure to activate it before running the script. Refer to this page for more information.

Troubleshooting #

“Numpy binary incompatibility” #

Traceback (most recent call last):
    ...
    File "__init__.pxd", line 918, in init pyzed.sl
ValueError: numpy.ufunc size changed, may indicate binary incompatibility. Expected 216 from C header, got 192 from PyObject

This error usually means Numpy isn’t installed. To install it, simply run these commands :

# On NVIDIA® Jetson (aarch64) cython needs to be installed first since numpy needs to be compiled.
$ python3 -m pip install cython
$ python3 -m pip install numpy