9 打造更舒适的Python开发环境
前面已经介绍了如何安装Python开发的基本环境,但如果就这样进行开发,会有很多不便之处,对于需要进行大量开发和研究的人,夸张一点来说,这样的环境无异于刀耕火种。下面我们就看看如何来通过安装一些工具和修改一些设置来改善我们的开发环境。本书中基于Windows 7系统的界面做讲解,Windows 8和Windows 10中的界面也大同小异。
* 修改Windows资源管理器的一些显示设置
Windows下我们点击任何一个文件夹,打开的其实都是Windows资源管理器的界面,我们需要做一些设置,让它更符合开发的习惯。首先如下面图2.22中所示,点击资源管理器左上方的“组织”下拉菜单按钮,选择“文件夹和搜索选项”:
图2.22 Windows文件夹选项菜单
然后在下面图2.23所示的界面中,选择“查看”选项卡,将其中的“隐藏已知文件类型的扩展名”前的选项勾选框设置成不选择。
图2.23 修改Windows文件夹显示选项
这样我们就能清楚地看到一些文件的扩展名,例如Python文件test.py文件名后面的“.py”部分。
* 命令提示符CMD的替代方案
Linux和macOS系统中,都有很好的命令行终端,但在Windows下提供的CMD,一直以来就不是一个很好的命令行终端软件。主要的问题有几个:
- 复制、粘贴操作极为不便;
- 对UTF-8编码的文字显示支持的不好(实际上对非ANSI字符集的字符显示都不好);
- 字体等样式设置选择余地非常少;
- 不支持标签页式的同时开启多个终端的方式;
因此,我们强烈推荐用Cmder等软件来替代CMD。Cmder可以到
它的官网http://cmder.net/去下载。
图2.24 Cmder官网下载页面
注意,Cmder官网上提供两种版本供下载,一种是Mini版本,即精简版,一种是Full版本,即完全版。我们推荐下载完全版,因为完全版里面附带了很多Linux系统中比较有用的命令的Windows移植版本。所以建议点击“Download Full”来下载完全版。
下载的文件是一个.zip或.7z为扩展名的压缩文件,我们把它解压缩后,放到一个常用的文件夹下,例如图2.25中,我们把cmder解压缩后放在了C盘的tools文件夹下。
图2.25 Cmder安装包解压后文件夹内容
之后我们就可以双击Cmder.exe这个可执行程序来启动Cmder了。
图2.26 Cmder界面截图
启动Cmder之后,可以看到如图2.26一样,已经有一个半透明的Cmder界面出现了,我们可以在任务栏中鼠标右键点击Cmder的图标,选择“将此程序锁定到任务栏”,这样以后就可以在任务栏中直接点击它的图标来启动了。
在Cmder中,我们可以点击窗口左上方的小图标后出现的菜单中选择Settings来进行字体、编码等各种设置。也可以和其它一般的程序中一样用Ctrl-C组合键来进行选择文本的复制,用Ctrl-V组合键来进行粘贴了,而这在CMD中是不行的。另外,还可以在菜单中选择“New Console”在标签页中来打开一个新的Cmder窗口,非常方便。同时,我们还可以使用一些Linux的常用命令,如“touch”等。
图2.27 Cmder中执行Linux命令
我们编写Python程序,前面的例子中直接使用了Windows中的记事本,这是一个文本文件编辑软件。我们后面将介绍使用更适合编写Python程序的软件,但有时候编写简单的程序或者对程序做少许修改时,也可以用文本编辑软件来做.另外,我们也会经常用到文本文件来存储神经网络的训练数据。这时候,拥有一个功能完善的文本编辑软件会大大提高工作效率,而记事本的功能就显得过于薄弱了。所以我们建议使用一些专业的文本编辑软件来替代记事本,例如在Windows系统上我们推荐一款简单易用的免费软件Notepad2mod;在Mac OS X系统上推荐在Mac应用商店里可以找到的免费软件TextWrangler,这是一款强大的文本编辑软件BBEdit的免费版本,但功能已经足够,甚至超越了很多专业的收费软件。在Linux系统上,推荐直接使用Vim或GVim编辑器。下面以Windows下的Notepad2mod为例介绍一下为什么要使用专业的文本编辑软件来替代系统自带的编辑器。
我们可以去官网https://xhmikosr.github.io/notepad2-mod/ 下载Notepad2mod的最新版本,
图2.28 Notepad2mod官网
直接在官网首页右侧找到下载安装包的链接(“Download Installer”字样)点击即可下载。下载后如果是.zip后缀的压缩包,则需要先解压缩,然后运行安装包,
图2.29 Notepad2mod安装选项
在图2.29这个安装选项界面中,建议按截图所示选择,其中最后一个选项是选择是否用Notepad2mod替代Windows的记事本,可以看自己需要决定是否勾选。选择好选项后,点击“Install”按钮即可一路完成安装。安装完毕后,我们点击桌面上的Notepad2mod图标或者从开始菜单中找到Notepad2mod软件点击运行后,就可以看到类似记事本的文本编辑窗口,我们尝试在其中输入下面这行代码,
print(18 + 19)
图2.30 Notepad2mod中输入程序
输入后,应该得到如图2.30中的界面。我们可以看到软件下方的状态栏中间有一栏显示“ANSI”的字样,这就是代表当前文本文件的编码,我们可以鼠标双击这里然后选择改为“UTF-8”,这样就不用像记事本那样,每次保存时再选择了。
图2.31 Notepad2mod中修改文件编码
然后我们选择保存文件,例如保存到桌面上的test1.py,并像之前的例子那样在命令行界面中执行这个Python程序,只不过记得用Cmder代替Windows的CMD,应该得到如下面图2.32一样的结果:
图2.32 Cmder中执行程序
刚才我们改变文件编码的方式,只能改变当时正在编辑的文件的编码,由于我们后面所有的Python程序和训练数据文本文件都要求是UTF-8格式,所以我们需要把Notepad2mod默认的文件编码从ANSI改成UTF-8,这样就不用每一次都设置一下了。在Notepad2mod的“File”菜单中,找到“Encoding”就是设置编码的子菜单,然后如下面图2.33所示,点击“Default”就可以选择默认的文本编码了,我们要选择“UTF-8”。
图2.33 Notepad2mod修改默认文件编码菜单
为了方便,我们还可以在“View”菜单中把“Word Wrap”即自动折行的选项勾选上,然后在“Default Font”中选择好自己喜欢的默认字体,最后在“Settings”菜单中选择“Save Settings Now”把这些设置保存下来,以后就再也不用每次都设置这些选项了。
Notepad2mod这类专业的文本编辑软件,与记事本相比有下面这些增强功能是我们开发中比较有用的,
- 能够显示每一行文字的行号;
- 具备比较完善的自动折行功能;
- 支持方便地对文本的编码进行转换;
- 具备Python语言(也包括其它语言)的语法高亮功能,就是能够用不同颜色区别程序中不同类型的文字、数字等;
- 支持使用正则表达式来进行高级的文本查找和替换,这一点在整理训练数据或者结果数据的时候非常有用;
- 具备比较完善的文本样式设置功能,如对字体、颜色的调整等;
* Python语言专用的开发工具
Notepad2mod这一类软件是轻量级的文本编辑软件,所谓轻量级,是指软件比较小、运行比较快,使用起来比较便捷。这种软件适合处理文本格式的训练数据,或者对Python程序文件(Python程序文件其实也是文本文件)做一些简单的修改。但对于经常性的开发和较大的程序来说,是不太够用的。我们做Python开发,一般要使用专业的开发工具,这类专用于某个计算机语言的工具一般叫做集成开发环境(Integrated Development Environment, 简称IDE),IDE最主要的功能是提供一个编写程序、调试程序的一站式开发环境。
Python语言的IDE有很多,但综合来说,JetBrains公司提供的PyCharm无疑是其中的佼佼者,这也是我们推荐的开发工具。JetBrains公司最早是由于推出IntelliJ IDEA这款大受好评的Java语言开发工具而出名的,之后它推出了一系列语言的开发工具,始终保持了较高的水准,PyCharm也是其中之一。
PyCharm可以直接到JetBrains公司的官网http://www.jetbrains.com/pycharm/download/ 下载。注意在官网下载页面,有两个版本:Professional版本和Community版本,Professional版本是收费的,Community版本是免费的,Community版本已经足够我们一般开发的需要,因此下载Community版本就可以了。
图2.34 PyCharm官网下载页面
下载安装时,要注意下面图2.35中的设置要勾选上“Download and install JRE x86 by JetBrains”来在安装过程中装上PyCharm需要的Java运行环境。
图2.35 PyCharm安装时选择安装JRE
PyCharm安装完成后,运行时要在下面图2.36的界面中右下角的Configure下拉菜单中找到Settings进行一些基本设置,
图2.36 PyCharm软件启动界面
最主要的是要在设置页面左边导航栏中找到并点击“Project Interpreter”一项,然后在右边的详细设置中的“Project Interpreter”下拉项中选中我们安装的Python 3.x的版本。
图2.37 PyCharm中选择Python解释器
这样就为我们以后编写的Python程序指定好了使用的Python解释器的版本。
下面我们来尝试PyCharm的使用,在PyCharm的开始页面中选择“Create New Project”来创建一个开发工程项目(所谓的开发工程项目可以简单理解成为了完成一个目标而编写的所有程序,而IDE会提供管理这些工程项目的功能),这个项目也会作为以后存放我们所有实例代码的地方。
图2.38 PyCharm新建工程项目
如图2.38所示,我们选择把这个项目建在C盘的ml文件夹下面,项目的Python解释器选用已经安装的3.6版本。点击“Create”创建项目之后,就会来到项目管理的页面,
图2.39 PyCharm项目管理界面
这里可以看到,界面左面是一个导航栏,ml文件夹就是我们项目文件以后将要存放的位置。我们右键点击ml文件夹,可以新建一个Python程序文件,
图2.40 执行PyCharm中新建Python程序文件
我们也给它起名test.py, “.py”可以不用输入,PyCharm会自动为我们加上这个后缀,
图2.41 PyCharm中输入程序
新建文件后,我们在右边的文件编辑框中就可以编辑文件内容了,我们可以如图2.41中一样输入print(16 * 21)这行代码,注意在输入括号的时候,会出现如截图中一样的一个弹出提示,这就是对我们很有用的代码提示功能,像这里就在我们编写print这个函数的时候,给出了print函数的参数应该怎么写的提示;而在写print的过程中,随着我们的输入,PyCharm也会给我们提示有哪些和我们输入有关的函数可以用。代码提示功能是我们使用专用开发工具的最主要的原因之一。
我们保存该文件后,可以在Cmder中尝试运行,注意,一般改变工作目录是使用“cd”命令,例如:“cd \Users\abc”,路径前面类似“C:”这样的硬盘符号(简称盘符)可以不用输入,而且如果要改变所处的硬盘,需要直接使用“C:”这样的命令,直接用“cd C:\Users”这样的命令是无法从另一个硬盘切换到C盘上来的。请参看下面图2.42的截图,
图2.42 Python程序执行结果截图
可以看到,我们一开始的工作目录在E盘,我们使用“c:”命令(注意盘符的大小写无所谓)先把工作目录切换到C盘,然后再用“cd \ml”把工作目录切换到C盘的根目录下的ml子目录下,之后用“dir”命令可以看到我们刚才用PyCharm编写的test.py程序,用“python test.py”来执行程序,得到了期待的计算结果。
* 强大的面向编程开发的文本文件编辑器 - 微软的Visual Studio Code
+ 实际上,还有一个介于文本编辑器和专业Python开发工具之间的软件值得大力推荐,它就是微软研发的免费开发软件Visual Studio Code(简称VS Code)。它是一个可用于文本编辑,但更多的是被用于编程开发,并且能够支持各种主流的开发语言。由于VS Code比一般的集成IDE轻巧,但又通过插件机制支持了丰富的开发辅助功能,因此得到了很多程序员的青睐,目前在编程界得到了非常广泛的应用。VS Code也是我们强力推荐的开发工具,很大的原因就是使用它之后,在编写其他语言时不用再安装一遍开发工具了。
Visual Studio Code简称VS Code,是微软公司开发的一个轻量级的面向编程开发的专用软件,虽然它也可以被当做一个普通的文本编辑器使用,但更多的还是被用于进行各种编程开发。根据一些网络调查,近年来VS Code已经成为世界上使用最广泛的编程开发软件。VS Code也是跨平台的软件,同时支持Windows、MacOS和Linux等操作系统。
VS Code也是我们推荐使用的Python语言开发工具之一,它的另一个附加好处在于,不仅可以用于Python语言开发,也可以作为一般的文本编辑软件使用,在本书实例中可能会用到编辑文本文件的功能。如果要使用VS Code做Python语言开发,比PyCharm复杂一些的是,需要安装Python语言相关的插件。
第一步先在搜索引擎中直接搜索“vscode”即可找到VS Code的官方网站,下载对应自己操作系统的安装包按提示进行安装;
图2.24 VS Code官网下载页面
安装时建议勾选如下图所示的几个选项,开发时会比较方便。
图2.25 VS Code安装时的选项
安装完毕后运行VS Code应该看到如下的软件界面,表示安装VS Code软件本身已经成功。
图2.26 VS Code初次运行界面
之后如下图所示,在VS Code中点击左侧边栏中的插件(Extensions)图标安装默认的Python插件即可。
至此,我们的开发环境就基本安装完毕了,熟悉编程开发的人们可以直接看后面的实践部分的内容了,如果不了解编程或者初次学习Python语言的人,建议看看下面的Python基础知识。