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

        写在前面:在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.mzph.cn/news/744144.shtml

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

相关文章

Jeff Bezos的投资正开始见效

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

Vue+wow.js+animate.css实现动画效果

1.介绍 Wow.js 是一个轻量级的 JavaScript 库,用于在网页滚动时实现动画效果。基于 CSS3 的动画库 Animate.css,并通过触发 CSS 动画类来创建各种引人注目的过渡和动画效果。 使用 Wow.js,可以很容易地为网页中的元素添加动画效果&#xff…

MVC架构模式学习笔记(动力节点老杜2022)

GitHub代码笔记:laodu-mvc: 动力节点学习javaweb中的mvc笔记。 文章目录 1.视频链接 2.不使用MVC架构模式程序存在的缺陷 3.MVC架构模式理论基础 4.JavaEE设计模式-DAO模式 5.pojo & bean & domain 6.业务层抽取以及业务类实现 7.控制层 8.MVC架构模式与三…

Android apk 打包及签名

Android apk打包及签名主要分为3步: 1. 生成签名key store ➜ ~ keytool -genkey -v -keystore meet.jks -alias meet -keyalg RSA -keysize 2048 -validity 10000 keytool参数详解: -genkey:指示keytool生成一个新的密钥对。 -v&#xff…

Mac中文输入法区分回车和提交

一、功能描述: 在搜索框中输入关键词,回车跳转至搜索结果页 二、项目背景记录: vue3vuetify的项目 三、问题描述: 中文输入法。 在Windows下输入拼音后,敲击空格 > 显示第一个联想词,敲击回车 > 拼…

Python中的列表推导式是什么,并给出一个例子?

Python中的列表推导式(List Comprehension)是一种优雅且简洁的方式,用于快速生成列表。它是Python迭代机制的一种扩展,允许你使用一行代码就能根据已有的列表或可迭代对象(如元组、字符串、集合等)创建新的…

ElasticSearch之Nested对象

写在前面 本文看下es的nested嵌套对象相关内容。 1:es用了啥范式? 在关系型数据库中定义了6大数据库范式,即1,2,3,BC,4,5的NF(normal form),分别如下: 1N…

学习编程为什么选择C/C++,那么C++的强大之处到底体现在哪里呢?

学习编程为什么选择C/C,那么C的强大之处到底体现在哪里呢? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共…

Retelling|Facebook1

录音 Facebook 1 Retelling|Facebook1 复述转写 Today Im totally going to talk about Facebook. The aspects of this (its)rising fame and fortune, and the rise (小停顿)in(rising) fame and fortune of s founder Mark Zuckerberg, Mark Zuckerberg created this plat…

ctf_show笔记篇(web入门---代码审计)

301:多种方式进入 从index.php页面来看 只需要访问index.php时session[login]不为空就能访问 那么就在访问index.php的时候上传login 随机一个东西就能进去从checklogin页面来看sql注入没有任何过滤 直接联合绕过 密码随意 还有多种方式可以自己去看代码分析 30…

力扣串题:字符串中的第二大数字

此题的精妙之处在于char类型到int类型的转化&#xff0c;需要运算来解决 int secondHighest(char * s) {int max1-1;int max2-1;int szstrlen(s);int i 0 ;for(i0;i<sz;i){if(s[i]>0&&s[i]<9){if((s[i]-0)>max1){max2max1;max1s[i]-0;}else if((s[i]-0)&l…

峟思仪器助力尾矿库安全监测

在矿业领域&#xff0c;尾矿库的安全监测是保障矿山持续、安全运营的关键环节。尾矿库通常用于存放矿山开采过程中产生的固体废物&#xff0c;如果管理不善&#xff0c;可能会造成重大的安全事故&#xff0c;对环境和人类健康造成严重威胁。因此&#xff0c;采用先进的监测技术…

Sqllab第一关通关笔记

知识点&#xff1a; 明白数值注入和字符注入的区别 数值注入&#xff1a;通过数字运算判断&#xff0c;1/0 1/1 字符注入&#xff1a;通过引号进行判断&#xff0c;奇数个和偶数个单引号进行识别 联合查询&#xff1a;union 或者 union all 需要满足字段数一致&…

SAR洪水检测分析

对于洪水检测,经常使用合成孔径雷达 (SAR) 卫星图像。这里显示了 SAR 图像用于洪水检测的优缺点。 优点: - 无论天气如何,都能够捕获图像,从而实现高时间分辨率。 - 由于镜面反射,很容易区分水和其他物体。 缺点: - 图像中有很多斑点噪声。 - 凭直觉很难理解图像中出现…

机界先锋:Figure 01实现全面沟通与AGI通用人工智能的征途

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

yum安装mysql 数据库tab自动补全

centos7上面没有mysql&#xff0c;它的数据库名字叫做mariadb [rootlocalhost ~]#yum install mariadb-server -y [rootlocalhost ~]#systemctl start mariadb.service [rootlocalhost ~]#systemctl stop firewalld [rootlocalhost ~]#setenforce 0 [rootlocalhost ~]#ss -na…

代码随想录三刷day29

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣455. 分发饼干二、力扣376. 摆动序列三、力扣53. 最大子数组和 前言 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 一、力扣45…

2024年大学生买腾讯云_腾讯云大学生服务器优惠

腾讯云学生服务器优惠活动「云校园」轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置112元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G3M公网带宽配置842.4元一年&#xff0c;腾讯云服务器网txyfwq.com分享2…

H12-811_128

128.如下图所示的网络&#xff0c;两台交换机之间通过四条链路相连&#xff0c;COPPER指电接口&#xff0c;FIBR指光接口&#xff0c;则以下哪两个接口可以实现链路聚合? A.G0/0/3和FE0/0/3 B.G0/0/3和G0/0/2 C.G0/0/2和FE0/0/3 D.G0/0/2和G0/0/1 答案&#xff1a;BD 注释&am…

Mysql 死锁案例2-间隙锁与意向插入锁冲突

死锁复现 CREATE TABLE t (id int(11) NOT NULL,c int(11) DEFAULT NULL,d int(11) DEFAULT NULL,PRIMARY KEY (id),KEY c (c) ) ENGINEInnoDB DEFAULT CHARSETutf8;/*Data for the table t */insert into t(id,c,d) values (0,0,0),(5,5,5),(10,10,10) 事务1事务2T1START …