(一)编辑器选择。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 使用的一些些感受相关推荐

  1. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

    python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录

  2. python loc iloc,Python pandas loc用法与iloc区别 聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明...

    想了解聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明的相关内容吗,Rainpages在本文为您仔细讲解Python pandas loc用法与iloc区别的相关知识和一些C ...

  3. python创建字典和包的区别_[Python]-10-模块与包

    引言 这篇文章介绍python中模块和包的概念. 文章目录 0×1.如何导入模块 简单的讲,模块就是可以扩展python功能的一些对象的集合,可以是类,方法,或者简单的数值对象,他们被存放在一个或多个 ...

  4. python 2.7和3.6区别_Windows Python 2.7 和 Python 3.6 共存方法

    由于最近需要安装 tensorflow,在网上查了下,发现有的说支持2.7,有的又说不能,众说纷纭.于是直接去PyPI找到支持的列表,可以看到确实支持2.7,但仅限于 macos X 和 Linux ...

  5. Python 进程 Process 与线程 threading 区别 - Python零基础入门教程

    目录 一.Python 线程 threading 创建 二.Python 进程 Process 创建 三.Python 进程 Process 和线程 threading 区别 四.Python 进程 ...

  6. python中break和continue的区别

    python中break和continue的区别 break 结束for 或者while 循环  后面还没循环到的 不再循环 continue 当满足某种条件时结束当前值的循环 后面没有循环的继续循环 ...

  7. Python 应用领域以及版本之间的区别

    Python 应用领域以及版本之间的区别 一.Python应用领域 Python+人工智能,给你更多研究方向选择! 企业级综合实战项目,集六大前沿技术为一体 二. Python 2与Python 3的 ...

  8. python中bytearray和java中byte[]的区别_Python经典面试题:说说Python中xrange和range的区别?...

    昨晚一小伙后台问xrange和range有啥区别,讲了下他倒领悟的挺快,其实这也是你各面试Python岗位,经常会遇到的Python面试题,长个心眼哈,说不定明年3月你找工作就用上了. 废话不多说,开 ...

  9. Python面试之 is 和 == 的区别

    Python面试之 is 和 == 的区别 强哥 ​ 亿贝软件工程(上海)有限公司 全栈工程师 ​关注他 契卡 . 在读笛卡尔的孟德 等 1,210 人赞同了该文章 面试实习生的时候,当问到 is 和 ...

最新文章

  1. C++实现虚拟内存页面置换算法(FIFO, OPT, LRU)
  2. 【Blog.Core开源】网关统一集成下游服务文档
  3. 北航计算机学院有河南的,北航计划在豫招生165人 河南多所高职公布预录名单...
  4. Ubuntu配置IPFS的环境
  5. PSIM软件学习---02 原件模型
  6. java 线程间的通讯(升级版)
  7. Android设置按钮点击后变色(导航栏变色)
  8. Django中使用MySQL
  9. Java基础markdown笔记整理(尚硅谷康师傅)
  10. 贝叶斯网络(数据预测)Python代码资源推荐
  11. java前后端分离(增删查改)
  12. js 实现井字棋游戏
  13. 漫谈分布式游戏服务器
  14. 鲁大师11月新机排行:只有5款机型发布,OPPO撑起榜单
  15. 如何基于深度学习实现商品识别技术|图普科技
  16. 安装WordPress的一些注意事项
  17. abp框架mysql连接配置_ABP框架使用Mysql数据库
  18. GIt远程仓库pull拉取代码
  19. vue-seamless-scroll 使用
  20. 08---HTML+CSS---float浮动

热门文章

  1. SAP ABAP QA01屏幕增强 SMOD QPL10004
  2. 坦桑尼亚签证办理攻略
  3. lcl手术和飞秒区别_一篇文章告诉你,ICL与全飞秒近视手术的区别在哪?
  4. Python3 pd.merge()使用实例
  5. OpenGL学习笔记24-Face culling
  6. 指针的点运算和箭头运算(-)
  7. 35岁的程序员:第34章,醉酒
  8. AI 易谈、落地不易,触景无限Mini盒子带来的产业革命...
  9. 云南丽江打卡7日游自由行记
  10. [推荐]尺寸公差查询软件 (附注册机下载地址)