NVIDIA-ISAAC-ROS / isaac_ros_common

Common utilities, packages, scripts, Dockerfiles, and testing infrastructure for Isaac ROS packages.
https://developer.nvidia.com/isaac-ros-gems
Other
195 stars 138 forks source link

Python `import cv` fails because of numpy version #138

Open torydebra opened 3 months ago

torydebra commented 3 months ago

Hi there,

I followed up the instructions for the docker (https://nvidia-isaac-ros.github.io/getting_started/dev_env_setup.html) including the realsense camera setup (I do not know if relevant).

I was following some tutorials like, https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_object_detection/isaac_ros_rtdetr/index.html#visualize-results, but the import cv2 in pyhton code fails:

>>> import cv2

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.1 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

Traceback (most recent call last):  File "<stdin>", line 1, in <module>
AttributeError: _ARRAY_API not found
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: numpy.core.multiarray failed to import

This happens also opening a python shell directly from a terminal of the container

destroy314 commented 3 months ago

You can run python3 -m pip install "numpy>=1.24.4,<2" to fix this. Hope the maintainer can specify numpy<2 to ensure compatibility. https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common/blob/77777d38ebb30483a929135a9a5b1dc827cbd0b9/docker/Dockerfile.ros2_humble#L66