如果您在 Python 3.6 环境中导入 cv_bridge
时,它指向的是 /opt/ros/melodic/lib/python2.7/dist-packages/cv_bridge/__init__.py
,那么说明您的 Python 3.6 环境中没有正确安装 cv_bridge
包,或者您的 PYTHONPATH
环境变量中包含了指向 Python 2.7 版本的路径。
您可以尝试重新安装 cv_bridge
包,以便在 Python 3.6 环境中正确使用它。由于 ROS Melodic 版本默认使用 Python 2.7,因此您可能需要手动编译 cv_bridge
包以便在 Python 3.6 环境中使用它。您可以按照以下步骤操作:
cv_bridge
包。您可以使用以下命令来安装这些依赖项:sudo apt-get install python-catkin-tools python3-dev python3-numpy
Copy
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin init
catkin config --cmake-args -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so
catkin config --install
Copy
cv_bridge
包的源代码并将其编译为 Python 3.6 版本。您可以使用以下命令来获取源代码并编译它:cd ~/catkin_ws/src
git clone https://github.com/ros-perception/vision_opencv.git
cd vision_opencv
git checkout melodic
cd ~/catkin_ws
catkin build cv_bridge
Copy
cv_bridge
包。您可以使用以下命令来设置环境变量:source ~/catkin_ws/install/setup.bash --extend
Copy
完成上述步骤后,您应该就可以在 Python 3.6 环境中正确地导入和使用 cv_bridge
包了。