作者:Django Stars
机器之心编译,参与:魔王
写 Python 代码最好的方式莫过于使用集成开发环境(IDE)了。它们不仅能使你的工作更加简单、更具逻辑性,还能够提升编程体验和效率。
每个人都知道这一点。而问题在于,如何从众多选项中选择最好的 Python 开发环境。初级开发者往往面临这个问题。
本文将概述最受程序员欢迎的 Python IDE,以及其他值得考虑的选项。
IDE 是开发者创建程序时使用的软件包。它通过简单的用户界面集成多个高度关联的组件,从而最大化程序员的生产效率。本质上,IDE 是一种改进代码创建、测试和 debug 流程的工具,它使这些工作更加简单。
有一个与 IDE 相似的术语——代码编辑器(code editor)。我们先来探讨二者的异同。
代码编辑器是一个能够突出显示语法和安排代码版式的文本编辑器。
IDE 和代码编辑器有哪些共同优点?它们均可帮助开发者:
https://www.jetbrains.com/pycharm/download/PyCharm 由著名软件开发公司 JetBrains 开发。在涉及人工智能和机器学习时,它被认为是最好的 Python IDE。最重要的是,Pycharm 合并了多个库(如 Matplotlib 和 NumPy),帮助开发者探索更多可用选项。
内置开发者工具
远程开发能力
实时编辑模式
IPython Notebook
PyCharm 支持 web 开发框架,如 Pyramid、Flask 和 Django。
提供智能代码功能,可以执行更精确、快速的 bug 修复。
在 Docker 和 Vagrant 连接和 ssh 终端的帮助下,允许在远程主机上进行程序开发。
https://code.visualstudio.com/DownloadVisual Studio Code 有时会与 Visual Studio IDE 混淆,后者并非 Python 使用者常用的工具。VS Code 是完整的代码编辑器,具备很多优秀功能,许多程序员称其为最好的 IDE 编辑器。内置 git
自定义工具扩展插件
断点调试
交互式控制台
https://www.sublimetext.com/Sublime Text 被认为是最好的 Python 编辑器,因为它简单、通用、方便。它使用广泛,可用于不同的平台。
简易导航,实现高性能
支持不同包,以自定义编辑器
只需一个关键词,即可复制常见代码段
即时项目切换和分割编辑
对于新手来说,过于高级。
其 git 插件不是特别强大。
Vim 位列最好的 Python IDE 工具前 5 名。它是一个 modal editor,可以从「文件编辑」中分割文件。相比最初的 Vi,Vim 有了巨大进步,功能更加强大。
Windows、Linux、Mac OS、IOS、Android、UNIX、AmigaOS、MorphOS
https://www.gnu.org/software/emacs/emacs.html
GNU Emacs 也是最好 Python 编辑器的有力竞争者。它常被描述为可扩展、自文档化、实时显示。尽管它在业界并非最新,但它经常升级来满足开发者的需求。
兼容性:Windows、Linux、Mac OS、IOS、Android、UNIX、AmigaOS、MorphOS
使用 Lisp 编程语言
语法着色
支持 Unicode
https://docs.python.org/3/library/idle.html
IDLE 代码编辑器深受学生欢迎,它是 Python 自带编辑器。该编辑器使用简单、通用,且支持不同设备。在使用更复杂工具之前,开发者可以通过 IDLE 学习基础知识。
tkinter GUI 工具包
多窗口界面
具备对话框、浏览器等配置
允许用户突出显示错误、自动编码,并进行准确识别。
具备轻量级 Python shell。
其内置修正功能可以提升性能。
允许用户在编辑器中搜索和替换文件。
Python 是机器学习、人工智能、大数据等领域中的首选语言之一。这部分将介绍适合这些领域 Python 开发的 IDE。
Atom 是一个开源编辑器,可与几乎所有编程语言兼容,如 PHP、Java。它定期更新、可信赖,且具备通用性。Github 为 Atom 开发了强大的功能,以提供良好的编程体验,包括多个插件,如 SQL queries 包、Markdown Preview Plus 包,以及编辑、可视化和渲染 LaTeX 公式的包。
https://www.spyder-ide.org/Spyder 是为数据科学而开发的。它是开源工具,能够与大量平台兼容,因而成为 IDE 新手用户的更好选择。为实现完美开发,它合并了多个关键库,如 NumPy、Matplotlib 和 SciPy。
Jupyter 是基于 web 的编辑器,它允许开发者构建和运行脚本或 notebook。它相对简单,对用户也更加友好。Jupyter 还使用 Seaborn 和 Matplotlib 执行数据可视化。
这部分将介绍一些不那么有名和流行但同样值得一看的 IDE。
Eclipse 是一个开源编辑器,也是 Windows 系统首选 Python IDE 之一。其扩展项和插件非常昂贵,足以构建你想构建的一切。Eclipse 辅以 PyDev 扩展项,可实现智能 debug,并改善代码质量。
https://eric-ide.python-projects.org/Eric 是另一个不那么流行的 Python IDE,但它功能强大且高效。不管是商业用途还是私人用途,Eric 都能提供合适的功能。它可在所有平台上运行。
Wing 是著名的 Python IDE,可实现智能编程。其编辑器简单易用,debugger 强大,支持远程编程、错误检查等功能,值得一试。
https://sourceforge.net/projects/pyscripter/files/latest/downloadPyScripter 以其卓越功能打败了适用于 Windows 系统的其他 Python IDE。它也是 Mac 系统中好用的 Python IDE,其商业版本支持大部分编程语言。PyScripter 具备丰富的功能集,但也很轻量。
https://pyzo.org/start.htmlPyzo 是一个免费开源编程工具,可与任意 Python 解释器一起使用,甚至是 Conda 环境。其最突出的两个特点是简洁性和交互性。简单易用,非常适合新手。
Thonny 由塔尔图大学开发,适合新手程序员。其界面没有任何复杂或多余功能,很容易上手。另一个适合新手的地方是,你可以看到 Python 在每一步中对你的表达式的评估。
本文概述了大量优秀的 Python IDE 和其他工具。决定使用哪一种工具取决于工具的便利性和对工具的熟练程度。当然,也有大家都喜欢的工具(如 PyCharm),但是你可以多尝试几种工具,看看哪种最适合你。
一些 IDE 适合新手,另一些则更加专业,每一个 IDE 都具备独特的功能和设计。本文仅提供一些选项,读者可以从中选择适合自己的 Python IDE。
https://djangostars.com/blog/python-ide/
赠送三本机器学习基础书籍
机器学习线性代数基础-Python语言描述
内容介绍:数学是机器学习绕不开的基础知识,传统教材的风格偏重理论定义和运算技巧,想以此高效地打下机器学习的数学基础,针对性和可读性并不佳。本书以机器学习涉及的线性代数核心知识为重点,进行新的尝试和突破:从坐标与变换、空间与映射、近似与拟合、相似与特征、降维与压缩这5个维度,环环相扣地展开线性代数与机器学习算法紧密结合的核心内容,并分析推荐系统和图像压缩两个实践案例,在介绍完核心概念后,还将线性代数的应用领域向函数空间和复数域中进行拓展与延伸;同时极力避免数学的晦涩枯燥,充分挖掘线性代数的几何内涵,并以Python语言为工具进行数学思想和解决方案的有效实践。
《机器学习线性代数基础:Python语言描述》适合实践于数据分析、信号处理等工程领域的读者,也适合在人工智能、机器学习领域进行理论学习和实践,希望筑牢数学基础的读者,以及正在进行线性代数课程学习的读者阅读。
赠送方式
关注下方公众号,回复:抽奖
推荐阅读
2、史上最全 | 数据分析技能详细拆解,一张图覆盖全流程知识细节和资源推荐
3、周志华教授报告:如何做研究与写论文?附完整pdf下载链接
4、吴恩达新书《Machine Learning Yearning》完整中文版(附下载)
5、资源 | 宾夕法尼亚大学计算机系教授1900页机器学习数学全书,附下载链接
6、北大开源了中文分词工具包,准确度远超Jieba,提供三个预训练模型