Import Error of pyzed.sl on my Zed Box

Hi, I made all of the installations on my zed box, here is my issue:

python3
Python 3.8.10 (default, May 26 2023, 14:05:08) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyzed.sl as sl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /home/user/.local/lib/python3.8/site-packages/pyzed/sl.cpython-38-aarch64-linux-gnu.so: undefined symbol: _ZN2sl6Fusion28getCurrentGNSSCalibrationSTDERfRNS_7Vector3IfEE

I am on a zed-box with a jetson xavier NX with:
Ubuntu 20.04 (jetpack 5.0.2-b231)
Python : 3.8.10
ZED SDK : 4.0

I installed the python api via /usr/locale/get_python_api.py

when I run it:

...:/usr/local/zed$ python3 get_python_api.py 
-> Downloading to '/usr/local/zed'
Detected platform: 
	 linux_aarch64
	 Python 3.8
	 ZED SDK 4.0
-> Checking if https://download.stereolabs.com/zedsdk/4.0/whl/linux_aarch64/pyzed-4.0-cp38-cp38-linux_aarch64.whl exists and is available
-> Found ! Downloading python package into /usr/local/zed/pyzed-4.0-cp38-cp38-linux_aarch64.whl
-> Installing necessary dependencies
Requirement already satisfied: wheel in /usr/lib/python3/dist-packages (0.34.2)
Requirement already satisfied: cython in /home/user/.local/lib/python3.8/site-packages (3.0.0)
Requirement already satisfied: numpy in /home/user/.local/lib/python3.8/site-packages (1.24.4)
Processing ./pyzed-4.0-cp38-cp38-linux_aarch64.whl
Collecting cython==0.29.36
  Using cached Cython-0.29.36-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl (1.8 MB)
Collecting numpy>=1.13
  Using cached numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (14.0 MB)
ERROR: pandas 2.0.3 has requirement python-dateutil>=2.8.2, but you'll have python-dateutil 2.7.3 which is incompatible.
Installing collected packages: cython, numpy, pyzed
Successfully installed cython-3.0.0 numpy-1.24.4 pyzed-4.0
Done
  To install it later or on a different environment run : 
 python -m pip install --ignore-installed /usr/local/zed/pyzed-4.0-cp38-cp38-linux_aarch64.whl

I don’t think the error I have is the cause of the problem, do you know how I can troubleshoot this issue?
Thanks!

Hi,
It looks like you have a mismatch between your SDK version and your python module. Did you have another version installed before ? Are you using a python environment ?
If you are using an environment of any kind, you can try to run python -m pip install --ignore-installed /usr/local/zed/pyzed-4.0-cp38-cp38-linux_aarch64.whl in the environment you are using.
Stereolabs Support

Can you also try to make a fresh installation (removing /usr/local/zed) and installing ZED SDK 3.8 following the same steps and let me know if it works ?
Stereolabs Support

Can you also try to make a fresh installation (removing /usr/local/zed) and installing ZED SDK : 3.8 and following the same steps and let me know if it works ?

Antoine Lassagne
Senior Developer - ZED SDK
Stereolabs Support

Thanks for those quick answers.
I made the fresh install from the 3.8, I can import the library without problems now.

I did not realized that you can actually install the library from the global installation and I may have already installed it when I tried on the first time (it could be the problem).

I have no longer the error, thank you guys!
Erwan.

1 Like