(给Python开发者加星标,提升Python技能)
编译:机器之心,作者:Jahongir Rahmonov
PyCharm 是一种 Python IDE,可以帮助程序员节约时间,提高生产效率。那么具体如何使用呢?本文从 PyCharm 安装到插件、外部工具、专业版功能等进行了一一介绍,希望能够帮助到大家。PyCharm 安装
在 PyCharm 中写代码
在 PyCharm 中运行代码
在 PyCharm 中进行代码 debug 和测试
在 PyCharm 中编辑已有项目
在 PyCharm 中搜索和导航
在 PyCharm 中使用版本控制
在 PyCharm 中使用插件和外部工具
使用 PyCharm Professional 功能,如 Django 支持和科学模式
本文假设读者熟悉 Python 开发,且计算机中已安装某个版本的 Python。该教程将使用 Python 3.6 版本,屏幕截图和 demo 均来自 macOS 系统。由于 PyCharm 可在所有主流平台上运行,读者在其他系统中会看到略微不同的 UI 元素,可能需要调整某些命令。PyCharm 安装本文将使用 PyCharm Community Edition 2019.1 版本,该版本免费且可在所有主流平台上使用。只有最后一部分「PyCharm Professional 功能」使用的是 PyCharm Professional Edition 2019.1 版本。推荐使用 JetBrains Toolbox App 安装 PyCharm。使用该 App,你可以安装不同的 JetBrains 产品或者同一产品的不同版本,并在必要的情况下更新、回滚和轻松删除任意工具。你还可以在恰当的 IDE 及版本中快速打开任意项目。Toolbox App 安装指南,参见 JetBrains 官方文档:https://www.jetbrains.com/help/pycharm/installation-guide.html#toolbox。在 Mac 系统中使用快捷键 Ctrl+Shift+R,在 Windows 或 Linux 系统中,使用快捷键 Ctrl+Shift+F10。
右键单击背景,从菜单中选择「Run 『guess_game』」。
由于该程序具备__main__ 从句,你可以点击__main__ 从句左侧的绿色小箭头,选择「Run 『guess_game』」。
使用以上任一方式运行该程序,窗口底部会出现终端面板(Terminal pane),显示你的代码输出结果:在 Mac 系统中使用 Ctrl+Shift+D 键,在 Windows 或 Linux 系统中使用 Shift+Alt+F9 键。
右键单击背景,选择「Debug 『guess_game』」。
点击__main__从句左侧的绿色小箭头,选择「Debug 『guess_game』」。
之后,你将看到底部出现 Debug 窗口:注意当前行被蓝色高亮显示。
Debug 窗口显示 random_int 及其值。记录该数字。(上图中该数字为 85。)
点击 F8 执行当前代码行,并执行到下一行代码。如有必要,你也可以使用 F7 跳转到当前行内的函数。随着你继续执行语句,变量的变化将自动呈现在 Debugger 窗口。
注意 Debugger 标签右侧有一个 Console 标签。Console 标签和 Debugger 标签相互独立。你可以在 Console 中与程序进行交互,在 Debugger 中执行 debug 动作。
转向 Console 标签,进入猜测过程。
键入左侧 Debugger 标签中显示的数字,点击 Enter 键。
转回 Debugger 标签。
再次点击 F8,计算 if 语句。注意现在你在第 14 行。为什么不是第 11 行呢?因为第 10 行的 if 语句被计算为 False。那么为什么当你键入数字后它算出来为 False 了呢?
仔细看第 10 行,注意我们在对比 user_guess 和一个错误的项。我们应该对比用户猜测的数字和 random_int,但此处我们对比的是 randint(从 random 包导入的函数)。
将 randint 更改为 random_int,按照同样的步骤重新开始 debug。你会发现,这一次到达的是第 11 行,第 10 行算出来为 True:
打开 Settings/Preferences → Tools → Python Integrated Tools 设置对话框。
在默认测试运行器字段中选择 pytest。
点击 OK 保存该设置。
本教程的示例将使用默认测试运行器 unittest。在同一个项目中,创建文件 calculator.py,并将以下 Calculator 类放入该文件:在 Mac 系统中使用 Shift+C md+T 键,在 Windows 或 Linux 系统中使用 Ctrl+Shift+T。
右键单击该类的背景,选择「Go To and Test」。
在主菜单中吗,选择 Navigate → Test。
选择「Create New Test…」,得到以下窗口:在 Mac 系统中使用 Ctrl+R 键,在 Windows 或 Linux 系统中使用 Shift+F10 键。
右键单击背景,选择「Run 『Unittests for test_calculator.py』」。
点击测试类名称左侧的绿色小箭头,选择「Run 『Unittests for test_calculator.py』」。
你将看到底部出现测试窗口,所有测试均失败:在主菜单中点击 File → Open。
在欢迎页面点击 Open。
之后,在计算机中找到包含该项目的文件夹,并打开。如果该项目包含虚拟环境,PyCharm 将自动使用该虚拟环境,并将它作为项目解释器。如果你需要配置不同的虚拟环境 virtualenv,在 Mac 上打开 Preferences,或在 Windows 或 Linux 系统中使用 Ctrl+Alt+S 打开 Settings,找到 Project: ProjectName。打开下拉列表,选择 Project Interpreter:在当前文件中搜索代码段:在 Mac 系统中使用 Cmd+F 键,在 Windows 或 Linux 系统中使用 Ctrl+F 键。
在整个项目中搜索代码段:在 Mac 系统中使用 Cmd+Shift+F 键,在 Windows 或 Linux 系统中使用 Ctrl+Shift+F 键。
搜索类:在 Mac 系统中使用 Cmd+O 键,在 Windows 或 Linux 系统中使用 Ctrl+N 键。
搜索文件:在 Mac 系统中使用 Cmd+Shift+O 键,在 Windows 或 Linux 系统中使用 Ctrl+Shift+N 键。
如果你不知道要搜索的是文件、类还是代码段,则搜索全部:按两次 Shift 键。
导航可使用以下快捷键:前往变量的声明:在 Mac 系统中使用 Cmd 键,在 Windows 或 Linux 系统中使用 Ctrl 键,然后单击变量。
寻找类、方法或文件的用法:使用 Alt+F7 键。
查看近期更改:使用 Shift+Alt+C 键,或者在主菜单中点击 View → Recent Changes。
查看近期文件:在 Mac 系统中使用 Cmd+E 键,在 Windows 或 Linux 系统中使用 Ctrl+E 键,或者在主菜单中点击 View → Recent Files。
多次跳转后在导航历史中前进和后退:在 Mac 系统中使用 Cmd+[ / Cmd+] 键,在 Windows 或 Linux 系统中使用 Ctrl+Alt+Left / Ctrl+Alt+Right 键。
更多细节,参见官方文档:https://www.jetbrains.com/help/pycharm/tutorial-exploring-navigation-and-search.html。PyCharm 中的版本控制版本控制系统(如 Git 和 Mercurial)是现代软件开发世界中最重要的工具之一。因此,IDE 必须支持版本控制。PyCharm 在这方面做得很好,它集成了大量流行的版本控制系统,如 Git(和 Github (https://github.com/))、Mercurial、Perforce 和 Subversion。注:以下示例中使用的版本控制系统为 Git。配置版本控制系统(VCS)要想实现 VCS 集成,你需要在顶部菜单点击 VCS → VCS Operations Popup…,或者在 Mac 系统中使用 Ctrl+V 键,在 Windows 或 Linux 系统中使用 Alt+` 键。选择 Enable Version Control Integration…,你将看到以下窗口:选择要提交的文件
写下提交信息
在提交前执行各项检查
查看更改
点击右下角 Commit 按钮旁边的箭头,选择 Commit and Push…,从而一次性完成提交和 push。
是不是感觉很神奇很迅速?特别是如果你以前经常通过命令行手动执行这些任务时。团队合作中会出现合并冲突(merge conflict)。当一个人对你正在处理的文件提交更改时,你们二人更改了同一行导致更改重叠,这时 VC S 无法决定选择你的更改还是队友的更改。那么你可以使用以下箭头和符号来解决这个问题:添加多语言和多框架支持
使用快捷键提示(shortcut hint)、文件监视器(file watcher)等提升你的生产效率
利用代码练习,帮助你学习新的编程语言
例如,IdeaVim 插件向 PyCharm 添加 Vim 模拟。如果你喜欢 Vim,这个插件可以实现不错的结合。Material Theme UI 插件可将 PyCharm 的外观改变为 Material Design 的外观:在 Mac 系统中打开 Preferences,在 Windows 或 Linux 系统中打开 Settings。
选择 Languages and Frameworks。
选择 Django。
检查复选框 Enable Django support。
应用更改。
现在确保了对 Django 的支持,你在 PyCharm 中的 Django 开发之旅将轻松很多。具体而言在创建项目时,你会得到一个专用的 Django 项目类型。这表示,当你选择该类型时,你将拥有所有必要文件和设置。这等同于使用 django-admin startproject mysite。你也可以在 PyCharm 内直接运行 manage.py 命令。目前支持的 Django 模板,包括以下一些:语法和错误高亮显示
代码补全
导航
block 名称补全
自定义标签和过滤器补全
标签和过滤器的快速文档
模板 debug 能力
除此之外,我们还可以在其他 Django 部分(如视图、URL 和模型)中执行代码补全、对 Django ORM 提供代码追踪支持(code insight support)、对 Django 模型提供模型依赖项关系图。更多细节,参见官方文档:https://www.jetbrains.com/help/pycharm/django-support7.html。数据库支持现代数据库开发是一个复杂的任务,需要多个支持系统和工作流。这也是 JetBrains 开发独立 IDE DataGrip 的原因。Dat aGrip 是独立于 PyCharm 的产品,二者的应用场景和授权都不相同。但幸运的是,通过 Database tools and SQL 插件(该插件默认开启),PyCharm 可以支持 DataGrip 中的所有特性。在该插件的帮助下,你可以查询、创建和管理数据库,不管数据库在本地、服务器,还是在云端。该插件支持 MySQL、PostgreSQL、Microsoft SQL Server、SQLite、MariaDB、Oracle、Apache Cassandra 等。关于该插件的更多用途,请查看文档:https://www.jetbrains.com/help/pycharm/relational-databases.html。线程并发可视化(Thread Concurrency Visualization)Django Channels、asyncio 和近期框架(如 Starlette (https://www.starlette.io/))表明异步 Python 编程正逐渐成为趋势。异步编程具备很多好处,但很难写,也很难 debug。在此类案例中,Thread Concurrency Visualization 就是医生,帮助你全面管理多线程应用并进行优化。更多细节,参见文档:https://www.jetbrains.com/help/pycharm/thread-concurrency-visualization.html。Profiler说到优化,profiling 是另一种代码优化方法。profiling 可以帮助你查看代码的哪一部分占用了最多的执行时间。profiler 运行的优先级如下:1. vmprof2. yappi3. cProfile如果你没有安装 vmprof 或 yappi,则运行标准 cProfile。更多细节,参见:https://www.jetbrains.com/help/pycharm/profiler.html。科学模式Python 不仅是通用和 web 编程语言,由于 NumPy、SciPy、scikit-learn、Matplotlib、Jupyter 等库和工具的加持,Python 成为数据科学和机器学习领域的最优工具。有了这些强大工具,你还需要一个强大的 IDE 来支持这些库所具备的绘图、分析等所有功能。关于科学模式的更多详情,参见 https://www.jetbrains.com/help/pycharm/matplotlib-support.html。原文地址:https://realpython.com/pycharm-guide/
推荐阅读
(点击标题可跳转阅读)
觉得本文对你有帮助?请分享给更多人
关注「Python开发者」加星标,提升Python技能
好文章,我在看❤️