
6.1 新建工程
在本章中,将编写一个真正属于自己的程序,而且将在PyCharm开发环境下完成此项任务。程序虽然很简单,但是它的意义非比寻常,因为这一小步将是学习和开发Python的一大步。
程序的要求是:在屏幕上显示“Hello, Python! ”,向世界发出第一声问候,它是那么清脆而响亮。
6.1.1 新建工程文件
启动PyCharm后,通过【New Project】或【Create Project】新建一个工程,如图6-1所示。

图6-1 新建工程
在此之前,首先新建一个用于存储工程的文件夹,然后在图6-1中单击右侧的【…】按钮,以选择该文件夹作为工程的存储文件夹。强烈建议为每个工程建立专用的文件夹,因为PyCharm可使用虚拟机自动产生与该工程相对应的虚拟环境。
本处选择“K:\Pythondemo\pythonprjtest”作为工作文件夹,如图6-2所示。

图6-2 工程存储文件夹选择
单击图6-2中【Location】栏目下面的【►】图标,查看并配置工程的解释器或虚拟环境,如图6-3所示。

图6-3 查看并配置工程的解释器或虚拟环境
图6-3中的【New Virtualenv environment】选项用于配置该工程专用的虚拟环境。当然,在第5章中曾建议使用系统解释器,所以直接使用已存在的解释器(Existing interpreter)也是一种很好的选择,因为它直接使用的是系统解释器及已安装的第三方库。从某种意义上说,使用已存在的解释器显得更简便。
在图6-3中,如果【Base interpreter】栏目内出现的不是前面安装的解释器D:\python364\python.exe,则要通过该栏目右侧的【…】按钮,自行设置为D:\python364\python.exe,也就是将基础解释器设置为我们安装在D盘上的Python 3.6.4版本。
同时,选项最好被选择,这样该工程就可直接继承并使用已安装的所有外部模块。如果不使用虚拟环境,而使用Existing interpreter,那么所有在系统解释器(又被称为本地解释器)下安装的第三方库均可直接被使用。
单击图6-3中右下侧的【Create】按钮,出现一个如图6-4所示的弹窗。

图6-4 在新窗口或当前窗口中打开新建的工程
图6-4的意思是,在一个新窗口中打开新建的工程,或者在当前窗口中打开新建的工程。如果选择前者,那么将为新工程打开一个新的窗口;如果选择后者,则在当前窗口中打开新工程,即与前一个工程共用PyCharm,在这种情况下,要注意两个工程之间的切换。
此处选择前者,单击【OK】按钮后出现的界面如图6-5所示。

图6-5 新建工程的过程
图6-5是新建工程的过程,主要包括创建虚拟环境等内容。该过程将持续数秒。此后将出现如图6-6所示的界面,表明新建工程的任务已经完成。

图6-6 新建工程完成
以上步骤完成了一个工程框架的搭建。不过,要注意的是,到目前为止,该工程只是一个空框架,没有任何程序。接下来,将进入编写Python程序的阶段。
6.1.2 新建Python文件
选择【File】→【New】命令,如图6-7所示,出现如图6-8所示的下拉菜单,用于选择待编辑文件的类型。

图6-7 选择【File】→【New】命令

图6-8 选择文件类型
由于此处即将编辑的是Python程序,所以选择【Python File】类型,出现如图6-9所示的弹窗,用于给程序文件命名。

图6-9 命名文件
为即将开始编写的第一个Python程序起一个规范而有意义的名字,此处命名为“hellopython”,如图6-10所示。命名文件名的原则是顾名思义,随意命名是一个非常不好的习惯。

图6-10 填写文件名
单击【OK】按钮后,程序编辑区被激活,也就是说,程序编辑区被使能了,颜色由原来的灰色变为白色,如图6-11所示,在编辑区中输入图中所示的代码。

图6-11 编写程序
选择【File】→【Save ALL】命令,出现如图6-12所示的界面,初步结束编写程序的工作。

图6-12 程序编写完成
6.1.3 配置工程并运行
为了能运行程序,必须对工程进行必要的配置。
首先需要对运行模式进行配置。这一步请参阅第5章有关章节的内容。在此基础上,通过菜单命令【File】→【Settings】配置【Editor】所属的有关条目,如图6-13所示。

图6-13 两个PEP 8选项被取消
选择并打开【Editor】→【Code Style】→【Inspections】选项,出现与PEP 8对应的两个选项,它们用于PEP 8规范检查。建议取消它们,否则在程序运行中将出现与PEP 8相关的错误提示信息。需要说明的是,在前面的有关章节中已经专门讨论了关于PEP 8的问题,PEP 8设置项与程序运行无直接关系,而与编写程序有直接关系,如果程序代码不符合PEP 8规范,则将被视为错误。因此,此处再次加以强调。
在编辑区中单击鼠标右键,弹出如图6-14所示的快捷菜单。

图6-14 右键快捷菜单中的【Run 'hellopython(1)'】命令
选择【Run 'hellopython(1)'】命令,即可运行程序hellopython.py。
这里有一个问题:被编辑的程序文件为hellopython.py,但为什么右键快捷菜单【Run 'hellopython(1)'】中出现的却是hellopython(1)?这其实是系统自动为程序文件hellopython.py取的别名。
运行程序后,结果如图6-15所示。

图6-15 程序的运行结果