python for vscode和python的区别_vscode+python 使用的一些些感受
(一)编辑器选择。Pycharm Or Vscode,最终我还是坚持用了Vscode。
vscode :更好看,UI、字体等整体给人感觉要好看。
vscode更轻量化,软件大小200+M,比pycharm小多了。
响应更快,打开vscode几秒钟,打开pycharm 至少30s,而且在Linux与win10 上使用pycharm简直卡爆了(也可能是我机器不好),曾经有几次卡死机的悲惨经历。事实上,vscode 的插件化运行方式,确实是对机器性能要求更低。
跨平台兼容更好,vscode 本就是微软旗下的在win10上兼容更好,在Linux也不错,使用至少比pycharm顺畅一些。
更自由,非常多的插件支持。
支持多种编程语言,JS、C、Java 等等。如果不仅写python,也做一些前端的工作, 那只用vscode这一个编辑器岂不爽哉。
vscode进步很快, 更新很快。
vscode 功能其实比较全的,有许多其他IDE能做的事情,它也能做,只是要研究,要配置,这一点是有一些门槛,及会多花不少时间踩坑的。
免费。
pycharm :专业for python,工业级。
大型项目肯定 pycharm 更适合。
使用上手更快,需要配置的东西更少。周围使用的人多,需要配置什么,直接发配置文件,import 一下搞定。
用的人多,有问题,其他人肯定都趟过坑,问一下肯定有回答。
收费软件,一年正版至少几大百。
大、卡。
(二)在vscode中配置python环境安装virtualenv,创建虚拟环境;pip3 install virtualenv --index https://pypi.tuna.tsinghua.edu.cn/simple/
创建虚拟环境,进入虚拟环境测试;
打开vscode, 配置setting.json;
更具的步骤,见文档 xxx(抱歉,之后补上)
(三)vscode 写python的插件
在vscode 上编写多数语言,都需要相应的插件来支撑语法美化、代码静态检查、格式化、调试等功能。(截图我所使用的部分插件)
插件在vscode 中搜索就可直接添加,非常方便。
3.0 插件名:中文(简体)语言包
3.1 插件名:Python
Python 插件是由官方开发的,体验非常不错。
3.2 插件名:One Dark Pro
暗色系的主体。
3.3 插件名:Python Extension Pack
python 的插件扩展包,包括了几个常用的插件:Python - 高亮、debug、格式化、测试等等功能的官方插件;
MagicPython - 语法高亮、美化等功能;
Jinja - Jinja template language support for Visual Studio Code.
Django - 使用django 相关的;
3.4 插件名: Bracket Pair Colorizer 2
彩虹色的各种括号,每一对括号是一个颜色, 在大量括号使用时,有效的帮助区分阅读, 推荐。
3.5 插件名:Settings Sync
同步vscode 的配置, 在换电脑时非常方便。 (只使用过一次,使用频率非常低的插件 )
3.6 插件名:TabNine
全语言的智能补全工具,刚使用不久, 还没什么感觉。
3.7 插件名:Beautify
代码美化插件。(一直有安装,所以没有注意安装、 不安装 的区别在那里~)
(四)vscode 最常用的快捷键(Mac版)
1)command+shift +P 对编辑器进行操作命令,也可以用来查找文件;
2) command+T 在打开的工作区中,查找选中的函数。 “ps: 由于vscode的配置还没研究清楚,部分引用的
其他文件中写的类、方法,不能直接跳转定义,要知道项目大了,函数分布在不同的文件中,而且有
层层的引用关系,不能直接跳转定义的地方,查找起来是非常费时的,现在有了command + T, 算
是比较优雅的解决了问题。”
3) command+shift+F 跨文件关键字全文检索。 比如要找函数在其他文件是否有分布,搜索一下就知道了。
4)option+shift+向下箭头 在下面一行重复上一行内容
5)command+F2 批量替换。 会先生成多个光标
6)command+option+向下箭头 在不同行插入光标
这里是我常用的,比较重要的快捷键。
(五)代码检查工具
一行仅能容纳79个字符? 解决非常苛刻的语法问题—— line to long (E501)。
在命令行中输入:flake8 --help,会显示一下帮助选项,其中一条是:
--max-line-length=n Maximum allowed line length for the entirety of this
run. (Default: 79)
解决方法如下:
# 在vscode的配置文件 setting.json 中,添加如下语句可以控制每行的最大长度;
"python.linting.flake8Args": ["--max-line-length=200"]
(六)代码格式化工具
我选择的是“black” 这个代码格式化的工具
选择command+shift+p 选择“格式化文档”
(七)重要!!使用vscode 调试代码
7.1 集成调试
修改lanuch.json"name": 该调试显示的名称;
"type": 调试类型;
"program":
"consolo": "internalConsole" 在vscode的“调试控制台”中输出结果, "integratedTerminal" 在vscode 集成的terminal 中输出结果;(在调试时,推荐"internalConsole" ,下面会具体讲到);
"pythonPath": Python解释器的位置;
"request": 必填项,有两种类型,分别是launch和attach,前者的意思就是 VSCode 会打开这个程序然后进入调试,后者的意思是。。。(用不到,还没用过,我也不会。。)
"args": 一些(自定义)的参数。
${file} - the current opened file ;
${workspaceFolder} - the path of the folder opened in VS Code ;
7.2 运行
7.3 断点
7.4 继续、单步跳过、单步调试、单步跳出、重启、停止
可以自行试试,这些按钮的作用。
(八)函数调转定义
之前很长一段时间, 在vscode 中都不能直接跳转从其他文件中引用的类、方法,这在debug过程中比较痛苦,后面也在setting.json 中不断的修改,一直不成功,有一天修改了两行, 第二天重启vscode竟然可以用了。
"python.autoComplete.extraPaths": ["/Users/macos/ext_test","/Users/macos/ext_test/mxactor"],
"python.jediEnabled": false,
主要起作用的应该是“python.autoComplete.extraPath”, 自定义模块位于非标准位置,将位置添加到python.autoComplete.extraPaths设置并重新启动VS Code。
(九)创建自定义python代码片段 (snippet)
command+shift+P, 输入“snippet”
(十)非常折磨人的 ”Fatal Python error: PyCOND_WAIT(gil_cond) failed“
在某一天更新vscode到 1.42.1 后, 调试代码出现了问题。
这个问题导致调试一直出bug,而且还是底层的、不知道哪里的、修不好的bug,google 了许久,也问了高手, 但还是不能解决这个bug。
只知道在python3.6及以下会有可能出现这个bug 的, 这个bug 和python 版本、vscode 等可能都有关系。
无奈,只有用python3.8 (行文时,比较新的版本)。
(十一) 包的安装
1)如果用了virtualenv 一定要切到对应的虚拟环境下;
2)推荐pip安装,使用方式 pip install 【包名】 可以最后加上 ==1.2 (1.2 是固定的版本号)
3)pip install -r requirements.txt 如果有包的文件,安装整个包非常快。
4)为了安装更快,在国内推荐清华的镜像源: pip install -r requirements.txt --index https://pypi.tuna.tsinghua.edu.cn/simple/
5)requirements.txt 的写法,例如下所示:
xlsxwriter==1.2.7
pandas==0.20.1
peewee==3.8.2
python for vscode和python的区别_vscode+python 使用的一些些感受相关推荐
- python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法
python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录
- python loc iloc,Python pandas loc用法与iloc区别 聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明...
想了解聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明的相关内容吗,Rainpages在本文为您仔细讲解Python pandas loc用法与iloc区别的相关知识和一些C ...
- python创建字典和包的区别_[Python]-10-模块与包
引言 这篇文章介绍python中模块和包的概念. 文章目录 0×1.如何导入模块 简单的讲,模块就是可以扩展python功能的一些对象的集合,可以是类,方法,或者简单的数值对象,他们被存放在一个或多个 ...
- python 2.7和3.6区别_Windows Python 2.7 和 Python 3.6 共存方法
由于最近需要安装 tensorflow,在网上查了下,发现有的说支持2.7,有的又说不能,众说纷纭.于是直接去PyPI找到支持的列表,可以看到确实支持2.7,但仅限于 macos X 和 Linux ...
- Python 进程 Process 与线程 threading 区别 - Python零基础入门教程
目录 一.Python 线程 threading 创建 二.Python 进程 Process 创建 三.Python 进程 Process 和线程 threading 区别 四.Python 进程 ...
- python中break和continue的区别
python中break和continue的区别 break 结束for 或者while 循环 后面还没循环到的 不再循环 continue 当满足某种条件时结束当前值的循环 后面没有循环的继续循环 ...
- Python 应用领域以及版本之间的区别
Python 应用领域以及版本之间的区别 一.Python应用领域 Python+人工智能,给你更多研究方向选择! 企业级综合实战项目,集六大前沿技术为一体 二. Python 2与Python 3的 ...
- python中bytearray和java中byte[]的区别_Python经典面试题:说说Python中xrange和range的区别?...
昨晚一小伙后台问xrange和range有啥区别,讲了下他倒领悟的挺快,其实这也是你各面试Python岗位,经常会遇到的Python面试题,长个心眼哈,说不定明年3月你找工作就用上了. 废话不多说,开 ...
- Python面试之 is 和 == 的区别
Python面试之 is 和 == 的区别 强哥 亿贝软件工程(上海)有限公司 全栈工程师 关注他 契卡 . 在读笛卡尔的孟德 等 1,210 人赞同了该文章 面试实习生的时候,当问到 is 和 ...
最新文章
- C++实现虚拟内存页面置换算法(FIFO, OPT, LRU)
- 【Blog.Core开源】网关统一集成下游服务文档
- 北航计算机学院有河南的,北航计划在豫招生165人 河南多所高职公布预录名单...
- Ubuntu配置IPFS的环境
- PSIM软件学习---02 原件模型
- java 线程间的通讯(升级版)
- Android设置按钮点击后变色(导航栏变色)
- Django中使用MySQL
- Java基础markdown笔记整理(尚硅谷康师傅)
- 贝叶斯网络(数据预测)Python代码资源推荐
- java前后端分离(增删查改)
- js 实现井字棋游戏
- 漫谈分布式游戏服务器
- 鲁大师11月新机排行:只有5款机型发布,OPPO撑起榜单
- 如何基于深度学习实现商品识别技术|图普科技
- 安装WordPress的一些注意事项
- abp框架mysql连接配置_ABP框架使用Mysql数据库
- GIt远程仓库pull拉取代码
- vue-seamless-scroll 使用
- 08---HTML+CSS---float浮动
热门文章
- SAP ABAP QA01屏幕增强 SMOD QPL10004
- 坦桑尼亚签证办理攻略
- lcl手术和飞秒区别_一篇文章告诉你,ICL与全飞秒近视手术的区别在哪?
- Python3 pd.merge()使用实例
- OpenGL学习笔记24-Face culling
- 指针的点运算和箭头运算(-)
- 35岁的程序员:第34章,醉酒
- AI 易谈、落地不易,触景无限Mini盒子带来的产业革命...
- 云南丽江打卡7日游自由行记
- [推荐]尺寸公差查询软件 (附注册机下载地址)