VScode(Python)使用ssh远程开发(Linux系统树莓派)时,配置falke8和yapf总结避坑!最详细,一步到位!

news2024/11/14 20:26:50

        写在前面:在Windows系统下使用VScode时可以很舒服的使用flake8和yapf,但是在ssh远程开发树莓派时,我却用不了,总是出现问题。当时我就开始了漫长的探索求知之路。中间也请教过许多大佬,但是他们就讲“能用不就行了,那么纠结干啥?”。确实够用,但有问题摆在面前的时候,不解决掉它总是感觉不得劲。还在我比较“闲”,也好在我比较轴,终于得偿所愿。(可能这对大神而言,是个微不足道的问题,哈哈哈大神飘过就好。在此仅愿能够对需要的朋友有所帮助)

        一、所需材料

        1、Linux环境(树莓派)下拥有flake8和yapf

        2、VScode在ssh下的拓展中安装flake8和yapf插件

        二、Linux环境下载flake8和yapf

        写在前面,为什么之前我一直不成功呢?是我偶然间发现,flake8和yapf的插件对VScode而言对python解释器的版本有要求的,如下图所示。而我的树莓派python版本是3.7,这是我一直没有注意到的。

        可以通过以下指令查看树莓派python指令:

#查看python2
python --version
#查看python3
python3 --version

       2.1 更新Linux环境下的python解释器(3.8以上可以跳过)

        2024.03.12更新:

        朋友们,对不起,不晓得是不是这个更新python的方法有问题还是我操作不当,当我按照下面的方法更新之后,我在使用pip install 安装第三方库是正常的,但是import的时候会报错,最后万般无奈,我重装了系统。关于下面的方法,大家谨慎使用

        下面来升级树莓派python版本,这里我参考的是树莓派安装python3.9以及pip换源 这个大佬的方式,实际用过,真的很好,在此致敬。(我Windows下面使用的是3.9.12,所以我在树莓派升级的是3.9.12)

        1、更新

sudo apt update

        2、安装编译python需要的环境

sudo apt install -y build-essential zlib1g-dev \
libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev \
libreadline-dev libffi-dev curl libbz2-dev

        3、下载python源码

wget \
https://www.python.org/ftp/python/3.9.12/Python-3.9.12.tgz

        值得一提的是,在树莓派下载通常很慢,大家可以在电脑下载好之后拷贝到树莓派内存卡上,或者通过VNC进行文件传输。 在此要提一下,我们需要下载Linux下的python源码,具体官网连接放在这:python源码下载Linux系统

         使用指令下载的话,文件在pi目录下(如果是电脑下载的话,也将文件拷到这个目录下)

        4、解压文件

        可以通过ls指令查看安装包状态

        解压指令:

tar xvf Python-3.9.12.tgz

        5、进入解压的python-3.9.12目录,进行配置

#进入目录
cd Python-3.9.12


#配置
./configure --enable-optimizations

        6、采用四核来编译(这一步较久,大概30分钟左右)

make -j4

         7、安装

sudo make install

         8、查看当前软链接指向的python版本

ls /usr/bin/python -l

        9、删除原来的软连接

sudo rm -f /usr/bin/python 

        10、在/usr/bin/目录创建软连接 python,定向/usr/local/bin/python3.9 

sudo ln -s /usr/local/bin/python3.9 /usr/bin/python

         11、检查python版本是否是3.9

python --version

        2.2 下载flake8和yapf 

        如果在升级python解释器之前下载了flake8和yapf,那当你升级完python解释器之后,无法使用常规的pip uninstall指令进行卸载了,可以通过以下指令删除:

#删除flake8
rm -rf /home/pi/.local/bin/flake8
#删除yapf
rm -rf /home/pi/.local/bin/yapf

        1、下载flake8

pip3 install --upgrade flake8

        2、检查是否下载成功

pip list
#成功的话,应该会反馈出flake8

        3、下载yapf

        可以使用同样方法去检查是否下载成功

pip3 install --upgrade yapf

         至此,树莓派上所有的任务都已经完成了

        三、VScode上ssh的配置

        3.1 下载拓展

        这个地方就不说了,和Windows下一样,如下所示:

        3.2 配置ssh的settings.json

         这个配置和Windows基本上一样,注意,千万不要在配置那边乱勾选,我就是乱勾选,导致一开始不能用(就是我注释掉的那部分),配置如下:

    "python.linting.flake8Enabled": true,
    "python.formatting.provider": "yapf",
    "python.linting.flake8Args": [
        "--max-line-length=248"
    ],
    "python.linting.pylintEnabled": false,

 

        至此,终于可用啦!!!效果如下:

        四、使用方法 

        1、保存的时候,便可以检错,以及自动格式化代码

        2、选中代码,右键,使用Format Document,可以格式化代码

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1516153.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

51、WEB攻防——通用漏洞验证码识别复用调用找回密码重定向状态值

文章目录 回显状态判断用户名重定向验证码回显显示验证码简单机制验证码复用验证码智能识别验证码接口调用安全修复建议 回显状态判断 request前端判断不安全(前端接收验证的返回值来进行判断),使用burp的Response to this request可以抓取返回包~ 这种…

C#,数值计算,希尔伯特矩阵(Hilbert Matrix)的算法与源代码

Hilbert, David (1862-1943) 1 希尔伯特(Hilbert) 德国数学家,在《几何学基础》中提出了第一套严格的几何公理(1899年)。他还证明了自己的系统是自洽的。他发明了一条简单的空间填充曲线,即埃里克魏斯汀的数学世界,即希尔伯特曲线,埃里克魏斯汀的数学世界,并证明了不…

OpenCASCADE开发指南<七>:OCC 中的数学基本类型和数学算法

1 标准对象的集合容器 在处理现实问题时,经常将问题抽象成一个数学模型,接着对模型求解, 然后将解提取出来以解决现实问题。 其实在 CAD 软件中, 主要解决的就是数学模型。因此,本节将描述 OCC 的数学基本类型和数学算…

短剧小程序开发:探索剧情新纪元,随时随地畅享精彩短剧

随着移动互联网的快速发展,人们对碎片化时间的利用越来越高效。短剧小程序应运而生,为用户带来了一种全新的娱乐方式。我们致力于开发一款功能丰富、体验优越的短剧小程序,让您随时随地畅享精彩剧情。 短剧小程序将汇聚众多优质短剧资源&…

科技成果鉴定测试如何进行?第三方检测机构进行鉴定测试的好处

科技成果鉴定测试,作为科技领域中一项重要的质量检验手段,具有广泛的应用范围。旨在为科技成果的研发者和使用者提供客观、科学、权威的鉴定结果,从而评估科技成果的技术水平和市场竞争力。   科技成果鉴定测试是对科技成果进行系统、全面的…

【小工具】一键美化nvidia-smi,查看GPU运行状态,无须配置

pip install nvitop可以在远程console看,是动态的。 鼠标滚轮控制显示哪个进程。

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Web)上篇

提供具有网页显示能力的Web组件,ohos.web.webview提供web控制能力。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。示例效果请以真机运行为准,当前IDE预览器不支持。 需要权…

大型污水处理站运维公司怎么选择

大型污水处理站运维公司的选择是关乎环境保护和城市发展的重要决策。在如今污水治理领域日益重要的背景下,选择一家专业的运维公司对于确保污水处理站的高效运行、提高处理效果和保护环境具有关键意义。那么,我们应该如何选择适合自己的大型污水处理站运…

OpenCV读取tensorflow神经网络模型:SavedModel格式转为frozen graph的方法

本文介绍基于Python的tensorflow库,将tensorflow与keras训练好的SavedModel格式神经网络模型转换为frozen graph格式,从而可以用OpenCV库在C 等其他语言中将其打开的方法。 如果我们需要训练并使用一个神经网络模型,一般情况下都是首先借助Py…

如何保证缓存与数据库的双写一致性?(史上最全)

目录 一、面试官心理分析 1. Cache Aside Pattern 2. 最初级的缓存不一致问题及解决方案 3. 比较复杂的数据不一致问题分析 一、面试官心理分析 你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问…

django-comment-migrate 模型注释的使用

django-comment-migrate 的使用 django-comment-migrate 是一个 Django 应用,用于将模型注释自动迁移到数据库表注释中。它可以帮助您保持数据库表注释与模型定义的一致性,并提高代码的可读性。 安装 要使用 django-comment-migrate,您需要…

使用大型语言模型进行实体提取

原文地址:Using A Large Language Model For Entity Extraction LLM 能否比传统 NLP 方法更好地提取实体? 2022 年 7 月 12 日 Large Language Models for Generative Information Extraction: A Survey 实体简介 使用Co:here大型语言模型。 实体可以被视…

Qt学习--自定义命名空间

假设我们要创建一个命名空间来包含与圆形相关的功能。我们可以命名这个命名空间为 Cir : 在这个头文件中,我们定义了一个名为 Cir 的命名空间,其中包含了计算圆的面积和周长的函数,以及 圆周率常量 PI 。 使用命名空间 在…

软考73-上午题-【面向对象技术2-UML】-UML中的图4

一、构件图(组件图) 1-1、构件图的定义 展现了,一组构件之间的组织和依赖。 构件图专注于系统的静态实现图。 构件图与类图相关,通常把构件映射为一个、多个类、接口、协作。 【回顾】: 类图展示了一组对象、接口、…

学生时期学习资源同步-1 第一学期结业考试题4

原创作者:田超凡(程序员田宝宝) 版权所有,引用请注明原作者,严禁复制转载

【node版本问题】运行项目报错 PostCSS received undefined instead of CSS string

最近该项目没有做任何修改,今天运行突然跑不起来报错了 PostCSS received undefined instead of CSS string 【原因】突然想起来期间有换过 node 版本为 16.17.1 【解决】将 node 版本换回之前的 14.18.0 就可以了

【Java - 框架 - Mybatis】(02) SpringBoot整合Mybatis操作Mysql - 快速上手

“SpringBoot"整合"Mybatis"操作"Mysql” - 快速上手; 环境 Java版本"1.8.0_202";Spring Boot版本"2.5.9";Windows 11 专业版_22621.2428;IntelliJ IDEA 2021.1.3(Ultimate Edition)&a…

VC++ BitBlt函数学习

1 BitBlt BitBlt函数执行与像素矩形相对应的颜色数据的位块传输,从指定的源设备上下文传输到目标设备上下文。 把位块从一个DC传到另一个DC; VC单文档工程,写3句代码如下; void CDeskdcView::OnDraw(CDC* pDC) {CDeskdcDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);//…

mac输入su命令报错如何重置密码

diannao1xiejiandeMacBook-Air ~ % su Password: su: Sorry输入 sudo passwd 命令重置密码即可。

Seata 2.x 系列【10】回滚日志表 undo_log

有道无术,术尚可求,有术无道,止于术。 本系列Seata 版本 2.0.0 本系列Spring Boot 版本 3.2.0 本系列Spring Cloud 版本 2023.0.0 源码地址:https://gitee.com/pearl-organization/study-seata-demo 文章目录 1. 概述2. 表语句…