Skip to content

Python bindings fail due to conflicting NumPy versions #3336

@robertlight

Description

@robertlight

Python bindings fail due to conflicting NumPy versions

I built jetson-inference Python bindings on Jetson (Ubuntu 22.04, Python 3.10) and ran into runtime errors when importing:

RuntimeError: FATAL: module compiled as little endian, but detected different endianness at runtime
SystemError: initialization of jetson_utils_python raised unreported exception

Root cause

There were multiple conflicting NumPy installations on my system:

  • System NumPy: /usr/lib/python3/dist-packages/numpy (v1.21.5)
  • User-local pip: ~/.local/lib/python3.10/site-packages/numpy (newer versions)
  • Stray Jetson bindings: /usr/local/lib/python3.10/dist-packages/jetson_utils_python.so

These conflicts caused a C-API mismatch, resulting in the Python bindings failing to load.

Steps that resolved the issue

# 1. Remove user-local NumPy
rm -rf ~/.local/lib/python3.10/site-packages/numpy*

# 2. Remove stray Jetson bindings
sudo rm -f /usr/local/lib/python3.10/dist-packages/jetson_*.so

# 3. Rebuild Python bindings
cd ~/dev/jetson-inference/build
cmake ..
make -j$(nproc)
sudo make install

# 4. Verify
python3 -c "import numpy; import jetson.utils; import jetson.inference; print('✅ Jetson Inference loaded successfully')"


After this, the Python bindings loaded correctly without runtime errors.

#Suggested improvements for documentation
Warn users about conflicting NumPy versions before building Python bindings.
Include a post-build verification step for Python path and NumPy version.
Provide a cleanup script for old bindings and stray NumPy installs.
These steps would save future users significant debugging time.

#Environment used:

Jetson device: Jetson Orin Nano / Xavier NX (aarch64)
Ubuntu: 22.04 LTS
Python: 3.10.12\
CUDA: 12.6
OpenCV: 4.8.0
NumPy: 1.21.5 (system)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions