< >
Home » ROS与Python入门教程 » ROS与Python入门教程-搭建开发环境(PyCharm)

ROS与Python入门教程-搭建开发环境(PyCharm)

ROS与Python入门教程-搭建开发环境(PyCharm)

说明

  • Python的IDE有很多,参考教程
  • 特点:
    • PyCharm是由JetBrains打造的一款Python IDE。
    • PyCharm具备一般 Python IDE 的功能,比如:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。
    • 另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython。

注意:

  • 基于Pycharm在虚拟机上运行过慢,在后面的章节,使用rosed作为主要的编写代码的工具。

安装步骤

  • 版本选择

  • Wget方式下载,建立下载目录tools,下载并安装.

$ mkdir ~/tools
$ cd ~/tools
$ wget https://download.jetbrains.com/python/pycharm-professional-2016.2.3.tar.gz
  • 或使用其他工具下载后,在上传到tools目录

  • 安装,在tools目录下

$ cd ~/tools
$ tar xfz pycharm-professional-2016.2.3.tar.gz  #解压
$ cd pycharm-professional-2016.2.3
$ ./pycharm.sh                       #按提示安装即可
  • 确认安装成功,安装完成后点左上角的 Dash home,输入“py”如果看到 PyCharm 图标则安装成功
    请输入图片描述

配置pycharm

  • 设置快捷键,使从快捷方式启动PyCharm的同时加载ROS环境变量
gedit ~/.local/share/applications/jetbrains-pycharm.desktop   #如果选择安装为当前用户可用

或者

gedit /usr/share/applications/jetbrains-pycharm.desktop       #如果选择为全部用户可用
  • 不同版本jetbrains-pycharm.desktop名字可能会有些差异

  • jetbrains-pycharm.desktop内容为:

[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm 
Icon=/home/ubu/tools/pycharm-professional-2016.2.3/bin/pycharm.png
Exec= bash -i -c "/home/ubu/tools/pycharm-professional-2016.2.3/bin/pycharm.sh" %f
Comment=The Drive to Develop
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm
  • 修改Exec变量一行,在=后添加 bash -i -c 即改为
Exec= bash -i -c "/home/ubu/tools/pycharm-professional-2016.2.3/bin/pycharm.sh" %f
  • 保存并退出。
  • 添加 bash -i -c 是为了在通过快捷方式启动PyCharm的同时加载ROS环境变量(ROS环境变量加载脚本配置在 ~/.bashrc 文件内)

用PyCharm调试Python工程

  • 新建catkin工作空间
mkdir -p ~/catkin_ws/src   #建立源目录
cd ~/catkin_ws/src
catkin_init_workspace      #初始化空间
cd ~/catkin_ws/
catkin_make                #首次编译
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc   #使用工作空间
  • 需要重新打开终端,环境配置才能生效。

  • 添加测试代码

$ cd ~/catkin_ws/src
$ git clone https://github.com/ros/ros_tutorials.git
$ ls

效果如下:

$ ls
CMakeLists.txt  ros_tutorials

向PyCharm里添加工程

  • 从 Dash home 里启动PyCharm,将看到下面的Welcome界面:
    请输入图片描述

  • 导入 rospy_tutorials 包,使之成为PyCharm的python工程。点击 Open Directory 按钮,在弹出的对话框中选择 ~/catkin_ws/src/ros_tutorials/rospy_tutorials/ 路径,如下图:
    请输入图片描述

  • 点击 OK,工程将被创建,如下图:
    请输入图片描述

设置python2.7为PyCharm工程的Interpreter

  • PyCharm默认将Python 3.2设置为工程的interpreter,而ROS使用的是Python 2.7,这里需要设置一下,使用Python 2.7,否则无法运行ROS相关的Python库。如果默认是Python 2.7则不用修改。

  • File 菜单 -> Settings 项,打开设置对话框,选择 Project Interpreter -> Python Interpreters 如下图:
    请输入图片描述

  • 点击右边选框的加号,增加 Python 2.7 Interpreter,并将其设置为工程默认,结果如下图:
    请输入图片描述

调式代码

  • 先打开一个terminal,输入 roscore 命令启动ROS Master。

  • 在PyCharm左边的 Project 树形框中,找到 talker.py 文件,打开。然后找到 “hello world” 所在的位置,修改为 “hello I'm yuanboshe”,并设置断点,如下图:
    请输入图片描述

  • 保存后,右键左边的 talker.py 文件,弹出右键菜单,选择 Debug 'talker' 项:
    请输入图片描述

  • 启动调试后,talker 程序就会运行,并会运行到断点处停下来:
    请输入图片描述

  • 在下面的变量栏能够看到变量值。取消断点,按 F9 继续运行,将下面的显示窗口切换到 Console 窗口,能够看到修改后的信息,如下:
    请输入图片描述

  • 回到桌面,再开一个terminal窗口,输入 rosrun rospy_tutorials listener 命令,可以看到正确的监听消息,如下图:
    请输入图片描述

总结

  • 作为脚本语言的Python,debug要比作为编译语言的C++方便简单得多,其他的Python IDE也可以使用类似方式使之能够用来调试ROS工程。由于缺少了编译环节,不需要CMake的参与,无论是catkin工程还是rosbuild工程都一样的设置,没有差异。

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros与python入门教程