Python的开发环境与实用工具

Python的各种实用工具,大致可以分为包管理、环境管理、编辑相关(代码补全、snippet等)、调试工具(集成开发环境)、笔记本构建工具Jupyter。

接下来就介绍下我常用的工具吧。

1. Pip

Pip一定是每位python开发者都经常使用的工具,它是强大的包管理工具。与conda相比,pip的pypi仓库提供的安装包的数量要多得多。之前也写过几篇关于pip的文章,在此做一下整理:
(1) 树莓派上多版本python及pip安装使用管理指南:树莓派是我常用的设备,因此很早写了这么一篇文章,来介绍python和pip在树莓派上的使用,其中还介绍了安装位置、源修改等技巧。
(2) python环境部署(一) —— pip依赖迁移: python在跨设备尤其还跨平台的情况下的环境部署有些麻烦,所以介绍下有哪些工具/方法可以更便捷地进行环境部署。姊妹篇:python环境部署(二) —— conda环境迁移

2. virtualenv与virtualenvwrapper

关于python的一众环境管理工具,StackOverflow上有一个回答:What is the difference between venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv, etc? 说明了他们之间的区别。建议各位不要去深究他们实际使用时的细微区别,太浪费时间了。

我最常用virtualenv和virtualenvwrapper,如果叠加多python版本管理需求的,可以考虑pyenv, pyenv-virtualenv, pyenv-virtualenvwrapper。

3. Anaconda/Miniconda

Anaconda/Miniconda提供包管理工具conda与环境管理工具,功能上是比较完整的,用户也很多,用不用全凭个人习惯了。我个人使用中遇到的一些小问题:
(1)我的常用设备除Windows、Linux服务器(X86架构)外还有树莓派(arm架构),树莓派上可安装的conda版本老旧,命令与Windows和Linux上当前版本不同,因此使用上会有困扰;
(2)一些包在conda源里并没有发布,造成有时候必须用pip进行安装的情况,那么此时环境中实际上就用了pip和conda两种包管理工具了,当不小心用pip删除conda安装的包或者用conda删除了pip安装的包后,麻烦就来了。
(3)使用conda list会发现有不少不需要的包(即使是Linux安装的Miniconda),给人环境十分臃肿的感觉,还是用pip简洁些。

事实上,我不是很喜欢Anaconda/Miniconda,主要还是觉得臃肿,但是有时候偷懒,Anaconda/Miniconda用起来前期要做的工作更少些,又大多是部署在服务器上,禁得起折腾,也就用了(😅)。

4. VS Code + 一众Extensions

VS Code的优势就不多说了,虽然运行时占用的内存也不小,但是功远大于过。

我常用的扩展:
Python extension for Visual Studio Code:必不可少的python官方扩展
Tabnine Autocomplete: 自动代码补全(以前用的Kite,现在改用Tabnine了)
Bracket Pair Colorizer:给各种括号以不同的颜色区分,写代码时看的更清楚
Settings Sync:同步设置Snippets、配置等

另外VS Code提供snippets功能,可以参考:使用VScode的代码片(snippets) 进行使用。

5. PySnooper

使用PySnooper可以极大地提高调试python程序的效率。
一个教程:极简Python DeBug工具——PySnooper

6. JupyterLab

因为树莓派一直都开机着,我在树莓派上部署了JupyterLab服务,平时有很简短的代码要测试,或者做些demo的话,就会在这上面完成。Jupyter确实很适合于做一些代码示例和学习笔记。

20210107更新:
因远程访问需要,加之JupyterLab刚刚升级到3.0,因此在服务器上部署了JupyterLab 3.0版本,简单记录了一下:
在远程服务器上部署JupyterLab 3.0

7. IDE

我确实不怎么用IDE,因为我做的项目都不算庞大,调试起来也相对容易。一般来说,VS Code配以丰富的插件足以满足代码编辑方面的需求,简单的调试我会使用Jupyter服务器,其他调试我会在服务器的shell中进行。
我试用过的IDE:
(1) Spyder:早期用过,有variable explorer,适合数据分析,除此外好像没啥特别的了。
(2) PyCharm:我用起来实在卡,就没细探索了,据说调试大型工程好用。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值