以前,我使用以下方法安装了PX4固件、ROS和Gazebo:
wget https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/ubuntu_sim_ros_melodic.sh
bash ubuntu_sim_ros_melodic.sh我相信这两行安装了ROS和诸如此类的所有软件包,我只需要安装python2.7,因为我运行的是ros。但是,我试图安装anaconda,然后尝试导入所需的包(ro间谍、std_msgs、geometry_msgs <- -找不到geometry_msgs),但它运行在Python3.8上。我最终决定卸载anaconda,因为我一直听说在conda环境中很难使用ros。由于我的机器上已经有python2.7,所以我只是继续创建一个python虚拟环境,并且有很多关于如何这样做的教程。
首先,我用catkin创建了一个ros工作区。
mkdir -p drone/src
catkin_make
cd src
catkin_create_pkgs bigdrone std_msgs geometry_msgs rospy我打开Professional,并设置了来自python/venv/bin/python的解释器。现在我试图再次导入我的包,但是所有的包都丢失了。我想这可能是因为它找不到包,因为它是一个虚拟环境,所以我切换到了/usr/bin/python2.7中的python。我所需要的软件包仍然不见了,但我确实可以访问一些像rosdep之类的东西。此外,当我在终端上运行时:
python
>>> import rospy
>>> import std_msgs
>>> import geometry_msgs因为某种原因,一切似乎都很顺利。
发布于 2021-08-22 22:20:31
它在Pycharm中找不到这些包,但可以从您的终端中找到这些包,原因是您已经在您的终端中运行了source /opt/ros/melodic/setup.bash。此文件设置环境变量,并将更新PYHTONPATH以包括所提到的ros特定模块。您可能可以通过从具有/opt/源代码的文件的终端启动Pycharm来使其工作。
尽管如此,更完整的解决方案是将ros发行包添加到您的虚拟环境中。您可以找到添加外部包here的步骤,要添加的路径是/opt/ros/melodic/lib/python2.7/distpackages。之后,您可以转到File > Settings > Project:> Project解释器。在那里,您可以从列表中指定ROS Python解释器。
https://stackoverflow.com/questions/68884601
复制相似问题