(一)编辑器选择。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