作为依赖 Python 的数据科学家,您也许会好奇,像 PyCharm 这样的集成开发环境(IDE)能带来哪些优势。由于 Python 代码可读性强且语法简洁,您完全可以用简单的文本编辑器修改代码,然后让 Python 解释器执行。那么,为什么还要使用一个“重量级”的复杂 IDE 来达到同样的结果呢?
接下来,我们将通过拆解 PyCharm 能为您解决的具体问题,以及如何从中受益,来回答这个问题。
为什么需要 PyCharm?
良好的开发环境对提升生产力至关重要。Python 的工作远不止写代码,还包括测试、调试、环境与包管理、版本控制,以及许多不那么显性的“模板化”操作。像 PyCharm 这样的 Python IDE 能通过自带多项功能(如语法高亮、自动缩进、调试工具等)简化这些环节,让您专注于开发过程本身。
安装与配置 PyCharm
在安装 PyCharm IDE 之前,您需要确保硬件满足安装和运行软件的技术要求。完整要求列表可在 JetBrains 网站上查看。这里列出几项要点,您的计算机需:
- 至少配备 4 GB 内存(建议 8 GB)
- 至少有 2.5 GB 可用磁盘空间,另需 1 GB 用于缓存
- 已安装 Python 2.7 或 Python 3.6(或更高版本) 安装 PyCharm 的流程与其他软件类似,可按以下步骤进行:
- 首先访问 JetBrains 官网 下载 IDE。页面显示如下:

- 下载页面会根据您的操作系统提供不同选项。打开网站后会自动检测系统并给出默认选项(在 Windows 电脑上默认即为 Windows)。

- 单击与您操作系统对应的 Download 按钮。下载可能需要一些时间。
如果您下载的是 Professional 版,可在 30 天的免费试用期内体验其专属功能。此后需要购买许可证才能继续使用该版本;若下载的是 Community 版,则在安装完成后即可永久免费使用 PyCharm。
下载完成后,打开文件资源管理器并进入文件下载目录。现在即可开始安装:
- 运行 pycharm-2021.3.exe,并按照向导步骤进行。您的屏幕将类似如下:

选择 Next,继续按照安装向导步骤:

- 安装过程中请留意以下选项:
- 64-bit launcher:在桌面创建启动图标。
- Open Folder as Project:为文件夹右键菜单添加选项,可将所选目录作为 PyCharm 项目打开。
- .py:将 Python 文件与 PyCharm 关联,以便默认用 PyCharm 打开。
- Add launchers dir to the PATH:允许在控制台中无需指定路径即可运行该 PyCharm 实例。
安装完成后,您可以在 Windows 开始菜单中找到 IDE,或使用桌面快捷方式启动。
用户界面概览
启动 IDE 后,界面应类似如下:

PyCharm 的界面可能与上图不同,取决于您的插件、所选版本以及个性化设置。下面简要说明部分组件的作用:
-
编辑器 您可以在此读取、编写及浏览代码。
-
操作指示与操作列表 左侧编辑器中的图标可帮助您快速定位可用修复和其他操作。
-
导航栏 简化项目结构的导航,并便于打开文件进行编辑。
-
状态栏 当您将鼠标悬停其上时,显示最近的事件提醒和操作说明。
-
主窗口 主窗口承载单个项目的所有信息。
更改快捷键
PyCharm 允许您快速按个人喜好调整开发环境。您可以查找、编辑并自定义 IDE 的快捷键,保留常用习惯,从而更高效地访问各项功能。
打开“设置/首选项”对话框 Ctrl+Alt+S 查看按键映射配置,并选择 Keymap。
该列表包含可用的操作与任务,您可以为其添加或自定义快捷键;列表经过分组排序,便于查找。

例如,Join Lines 操作在 Windows 上的默认快捷键是(Control + Shift + J)。列表中也有尚未分配快捷键的项目(例如 Move Caret Backward a Paragraph)。您可以右键单击相应操作,创建 Keyboard Shortcut 或 Mouse Shortcut,为其分配按键组合。
自定义编辑器主题
使用 IDE 越频繁,越有必要将编辑器主题与整体环境主题分开定制。多数开发者喜欢自定义代码显示特性,例如字体。如下所示的编辑器配色方案为 Darcula(在许多编辑器中称为深色主题)。

此外,您可以自定义自动换行,以定义编辑器中单行代码的最大长度。根据 Python 代码风格指南 PEP 8,Python 文件中的单行应不超过 79 个字符,因此建议在此项中设置为 79。设置后,IDE 会在第 79 列显示一条竖线,提示程序员在此处适当将代码拆分为多行。
探索核心编辑器功能
按照 JetBrains(开发商)的说法,PyCharm 基于以下两项核心原则运作:
- 提升生产力:PyCharm 通过剥离 Python 编程中重复且缺乏创造性的部分,让数据科学家更专注于构建模型。
- 实时辅助:PyCharm 提供多种智能功能,通过实时检查逻辑错误、PEP 8 代码风格并给出快速修复建议等方式,帮助数据科学家处理不一致问题。PyCharm 还提供多项高阶功能以贯彻这些原则:
- 科学计算支持:PyCharm 通过 IPython note 和交互式控制台等功能,简化数据科学家的科学计算工作。
- 智能编码辅助:提供代码补全、语法与错误分析,以及自动化重构方式。
- 精简的开发者工具:便捷地调试、测试与管理代码。
- Web 开发选项:支持 Python Web 开发框架,以及 JavaScript 等主要要素。
创建新项目
既然已经了解 PyCharm 如何简化开发流程,现在来创建第一个项目。
- 如果安装顺利,您现在应能正常启动 IDE。欢迎界面应类似如下:

- 单击 New Project 按钮继续。PyCharm 会打开新窗口以填写项目信息。默认参数如下图所示:

根据需要调整项目设置,然后单击 Create。

如需向项目添加新文件,可在左侧面板中右键单击项目,选择 New | Python File。您可以创建多种类型的文件,这里先选择 Python。

随后会弹出窗口,便于重命名文件并选择要创建的文件类型:

文件名可自定。由于已指定创建的是 Python 文件,因此名称中无需包含“.py”。点击 OK 继续。
文件已成功创建,且默认打开。让我们编写一些代码并运行。以打印 "Hello, World!" 的简单示例为例:

要在 PyCharm 中运行,您可以打开 Run 选项卡并选择“Run”,如下所示:

随后会出现一个窗口;选择 first_file(或您为文件取的名称)以运行代码。接着会显示 PyCharm 的 Run 面板,展示我们刚刚运行的 Python 程序的位置信息、状态与输出等。还有其他运行方式;您可以点击 Run 面板左侧的绿色按钮再次执行该文件。该操作在 macOS 上的默认快捷键为 Ctrl + Shift + R,在 Windows 上为 Ctrl + Shift + F10。您也可通过前述 Keymap 设置自定义快捷键。该按钮会重新运行上一次执行的文件,适用于连续多次运行同一文件,但在需要同时执行多个文件时并不适用。PyCharm 对开发流程中的许多环节进行了简化,而我们目前所见仅是这款强大 IDE 能为数据科学家或 Python 开发者提供的冰山一角。下一节将介绍如何借助它进一步提升效率。
高效编码
在软件开发或数据科学项目中,除编码之外还涉及许多环节,例如测试、调试与性能分析。这些任务往往较为复杂,且需要一定深度的知识,不少开发者会因此望而却步,进而在项目中忽略它们。
幸运的是,PyCharm 提供了一种切实可行的方式,帮助您在构建项目的同时实时遵循最佳实践。此外,关于包、解释器与虚拟环境的枯燥管理工作,PyCharm 也以直观的方式加以解决。它不仅提供直观的图形化方法来完成这些操作,还并行提供智能编码辅助、语法高亮与建议。
调试
调试的目标是在测试过程中定位程序中的错误原因,并相应地调整代码以产生准确且预期的结果。
在调试过程中,数据科学家或 Python 开发者会监控程序变量之间的交互以及它们的变化。通过观察不同函数、方法,甚至每一行代码如何改变变量的值与功能,您可以调查程序出错的潜在原因。
程序员或数据科学家在 Python 中常用的调试方法包括:
- 打印调试:在程序的指令之间加入 print 语句,输出您认为引发错误的变量值。通过查看这些值及其随时间的变化,您可以了解各行代码对相关变量的影响。
- 日志记录:在程序执行期间记录发生的事件。此方法常用于服务器管理员的场景,他们经常需要处理服务器崩溃和其他站点可靠性问题。
- 跟踪:跟踪程序执行的底层机器语言细节。对于深入查找嵌入在编程语言中的特定错误或缺陷原因非常有价值。
- 使用调试器:这是相对不那么常见的方法,即使用名为调试器的独立程序调试代码。然而,这通常也是最稳健的方式,因为调试器用途广泛,提供多种方法以监督程序的变化。
对于中小型程序,打印调试可能已经足够。但在大型程序中,使用调试器有助于节省时间并提升效率。
下面以 PyCharm 为例。我们创建了一个包含如下代码的 Python 文件:

该文件中有一个名为 assignFirstElement() 的函数,接收两个参数:一个列表和一个数字,并将该数值赋给输入列表的第一个元素。
程序中,我们初始化了一个包含三个数字(0、1、2)的列表并赋给变量 list。随后将 list 赋给 new_list,使二者具有相同的值。之后,我们从控制台获取用户输入的数字,并调用 assignFirstElement() 修改 list 的第一个元素。最后打印 list 和 new_list 的值。
如果您熟悉 C 等其他语言,可能会预期在对 list 调用 assignFirstElement() 后,list 变为 [x,1,2],而 new_list 仍为 [0,1,2]。但运行程序后,您会得到如下结果:

这表明 list 和 new_list 都发生了相同的修改,与我们的初始假设不一致。为理解这一问题,PyCharm 可大幅简化调试过程,便于您快速排查并修复错误。您可以像这样在文件中设置断点:

然后在调试模式下运行代码,按照断点逐步跟进执行过程。

进入调试模式后,会打开调试控制台,界面类似如下:

控制台便于您在运行过程中观察变量取值与每行代码的输出,从而更轻松地定位问题。
测试
测试是任何软件开发流程中最关键的环节之一。经过充分测试的代码更容易达到可用于生产的质量。测试不仅属于软件开发者的任务,对数据科学家而言,它同样在构建健壮、高性能、且准确的模型时发挥重要作用。
代码可以进行多种测试,首先是常见的单元测试。您可能经常听到它,甚至已实践过。Python 中的单元测试由 unittest 模块支持,其功能与其他编程语言中常见的单元测试框架类似。
我们通过一个示例快速理解单元测试的概念:
先创建一个单元测试文件。右键单击您的项目并选择 New Python file。

会出现类似如下的弹窗:

输入文件名,并选择 Python unit test。
接着,将下面的代码复制粘贴到新文件中:
from unittest import TestCase
class simpleOperationsTest(TestCase):
def test_div(self):
self.assertEqual(4 / 2, 2)
def test_sub(self):
self.assertEqual(7 - 3, 4)
class StringTest(TestCase):
def test_case(self):
self.assertTrue('Data'.isupper())
self.assertFalse('CAMP'.isupper())
我们在 simpleOperationsTest 和 StringTest 两个类中编写单元测试,它们均继承自 unittest 模块的 TestCase 类。只需在相应类中编写测试方法,即可实现不同的单元测试。
运行这些 Python 单元测试的最常见方式是通过命令行。可在 Python 命令中引入该模块,从文件、类或单个测试方法运行测试。
您可以使用 PyCharm 的 Terminal 面板,或打开系统自带命令行并导航到工作目录。
运行测试的命令如下:
Python -m unittest TestFile

您也可以利用 PyCharm 的运行箭头,方法如下:

PyCharm 的版本控制集成
要在 PyCharm 中集成版本控制,请点击 VCS,然后选择 Enable Version control。将出现如下所示的窗口:

PyCharm 可集成多种版本控制工具,这里我们先从下拉列表中选择 Git,并点击 OK。现在,您会看到项目已启用 VCS。
创建 Git 仓库后,Version Control 面板会出现在项目窗口中:

此时,顶部菜单中的 Git 下会出现多种可用选项:git add、git stash、git branch、git commit、git push 等。

要将特定文件添加到 Git,您可以在菜单栏选择 VCS | Git | Add,或使用相应快捷键。

您也可以在 Version Control 面板中同时选择多个文件并将其添加到 Git。若要将所有未纳入版本控制的文件添加到 Git,也可直接选择“unversioned files”分区并触发 add 操作。
接下来,提交文件到仓库的流程也十分简单,与添加类似。要提交 Default Change list 分区中以绿色标注的文件,右键单击并选择 Commit,或使用相应快捷键。

您可以填写提交说明,描述本次提交的目的,该说明会显示在 GitHub 上。

最后一步是将上一步提交的代码推送到 GitHub。前往 VCS | Git | Push。会弹出如下窗口,选择 Push 完成操作。

常见问题
PyCharm 是最好的 Python 开发 IDE 吗?
PyCharm 是广泛使用的 Python IDE。根据 JetBrains 的数据,PyCharm Community 与 Professional 两个版本合计占有率为 33%,与去年持平。VS Code 仍在增长,较去年提升 5%。相较之下,多数文本编辑器(如 Vim 或 Sublime Text)的使用率有所下降。使用 PyCharm 的 Web 开发者比例几乎是数据从业者的两倍,这一差异在 PyCharm 专业版上尤为明显。
PyCharm 是免费的吗?
您需要了解自己使用的是哪个版本。PyCharm Community(社区版)免费且无需许可证;Professional(专业版)仅提供 30 天试用,之后需购买许可证才能继续使用。
PyCharm 是否支持插件集成?
PyCharm 提供大量插件,覆盖多种用途与场景。其中较为知名的插件之一是 AWS Toolkit for PyCharm,这是一款开源插件,可更轻松地在 Amazon Web Services 上创建、调试和部署 Python 应用。
结语
在数据科学领域,PyCharm 是最强大的 IDE 之一,能让数据科学家将精力集中在更高优先级的任务上,例如构建与调优模型。它简化了许多常被开发者或数据科学家视为复杂或耗时的工作,如测试、调试与性能分析。此外,该工具还提供众多集成与自定义能力,带来更佳的使用体验。