linux中利用VScode编写python程序

简介: linux中利用VScode编写python程序

一、创建一个工作空间

首先创建一个工作空间以及一个src子目录,然后再进入工作空间调用catkin_make命令编译

mkdir -p demo02_ws/src
    cd demo02_ws/
    catkin_make

启动VScode

code .

按Ctrl+Shift+B,点击catkin_make:build

将里面的文本全部替换

 

{
        "version": "2.0.0",
        "tasks": [
            {
                "type": "catkin_make",
                "problemMatcher": [
                    "$catkin-gcc"
                ],
                "group": "build",
                "label": "catkin_make: build"
            }
        ]
    }

   

   将上面代码全部替换成下面代码

   

 

{
        "version": "2.0.0",
        "tasks": [
            {   
                "label":"catkin_make:debug",
                "type": "shell",
                "command":"catkin_make",
                "args":[],
                "group": {"kind":"build","isDefault":true},
                "presentation":{
                    "reveal":"always"
                },
                "problemMatcher":"$msCompile"
            }
        ]
    }

这样做的目的是为了方便编译,以后在VScode中按Ctrl+Shift+B就可以实现编译

 

二、再创建一个功能包

在src中生成一个功能包,该功能包依赖于roscpp,rospy,std_msgs,其中roscpp是使用C++实现的库,rospy是使用python实现的库,std_msgs是标准消息库,创建ROS功能包时,一般都会依赖这三个库实现。

建议写要求性能高,算法复杂的代码用C++,写一些功能简单的工具包的代码使用python。

用鼠标右键点击src,选择create catkin package,在输入框填一个名字hello_vscode

再到输入框输入 roscpp rospy std_msgs

在hello_vscode目录下面新建目录scripts

然后在scripts新建hello_vscode_p.py

 

然后修改scripts文件权限,右键点击scripts选择以终端方式打开,输入

chmod +x *.py

三、编辑源文件

再到hello_vscode_p.py中写代码

 

#! /usr/bin/env python
#导入包
import rospy
#入口
if __name__=="__main__":
    #初始化ros节点
    rospy.init_node("hello_p")
    #输出日志
    rospy.loginfo("hello vscode! 这是python!")


四、编辑配置文件

此时打开与里面src同目录的CmakeLists.txt文件

找到

# catkin_install_python(PROGRAMS

# scripts/my_python_script

# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}

# )

去掉 #

       #

       #

       #

将scripts/my_python_script改成scripts/hello_vscode_p.py

最后按Ctrl+Shift+B进行编译

#当不配置CmakeLists.txt 执行python文件会抛出异常
#/usr/bin/env :"python":没有那个文件或目录
#原因是:当前ros版本是 noetic ,它使用的是python3
#解决方案
#1、直接声明解释器为python3:#! /usr/bin/env python3(不建议,如果调用别人的代码就可能不能直接修改到他的py文件)
#2、通过软链接的方式将python链接到python3(建议)
    sudo ln -s /usr/bin/python3 /usr/bin/python

五、编译并执行

点击终端里面的+,新建终端

进入工作环境

cd ~/demo02_ws/
roscore

再新开一个终端, 然后再新建终端输入

source ./devel/setup.bash
rosrun hello_vscode hello_vscode_p.py

 

成功后如图所示

相关文章
|
7天前
|
存储 移动开发 Linux
Linux系统之部署h5ai目录列表程序
【5月更文挑战第3天】Linux系统之部署h5ai目录列表程序
21 1
|
2天前
|
Python
【Python进阶(二)】——程序调试方法
【Python进阶(二)】——程序调试方法
|
2天前
|
Python
Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。
Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。在函数内部修改全局变量需用`global`关键字声明,否则会创建新局部变量。
9 2
|
3天前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
14 6
|
3天前
|
存储 Linux 编译器
【Linux】详解动态库链接和加载&&对可执行程序底层的理解
【Linux】详解动态库链接和加载&&对可执行程序底层的理解
|
3天前
|
Linux C++
【Linux】详解进程程序替换
【Linux】详解进程程序替换
|
5天前
|
消息中间件 程序员 调度
Python并发编程:利用多线程提升程序性能
本文探讨了Python中的并发编程技术,重点介绍了如何利用多线程提升程序性能。通过分析多线程的原理和实现方式,以及线程间的通信和同步方法,读者可以了解如何在Python中编写高效的并发程序,提升程序的执行效率和响应速度。
|
5天前
|
缓存 Shell 开发工具
[oeasy]python0016_在vim中直接运行python程序
在 Vim 编辑器中,可以通过`:!`命令来执行外部程序,例如`:!python3 oeasy.py`来运行Python程序。如果想在不退出Vim的情况下运行当前编辑的Python文件,可以使用`%`符号代表当前文件名,所以`:!python3 %`同样能运行程序。此外,可以使用`|`符号连续执行命令,例如`:w|!python3 %`会先保存文件(`w`)然后运行Python程序。这样,就可以在不离开Vim的情况下完成编辑、保存和运行Python程序的流程。
16 0
|
6天前
|
网络协议 Java Linux
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
12 0