购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

Chapter 2
第2章
Python的工作环境

在学习Python之前,先介绍Python的工作环境,从目前流行的配置来看,Python的工作环境主要由三个部件构成:Python软件、Anaconda和IDE。

Python软件是Python的核心部件,只有安装了Python软件,我们才能使用Python。Anaconda是一个Python包的集合软件,安装了Anaconda软件,就相当于一次性安装了几百个常用的Python包(库文件)。IDE是编程的工具软件,我们写代码、调试代码都是在IDE中完成的。

2.1 Python工作环境的构成

2.1.1 核心的Python软件

Python软件是Python官网提供的核心部件,可以在www.Python.org上下载。图2-1所示是Python工作环境中的软件列表,其中包含Python工作环境中需要安装的Python、Anaconda、PyCharm等可执行安装文件。

图2-1 Python工作环境中的软件列表

Python的版本在不断更新,从最初的2.x版本到现在的3.x版本,对于不同操作系统(包括Mac、Linux、Windows操作系统等),Python也有不同的软件版本与之对应,并且用于Windows操作系统的Python有32位和64位之分。

2.1.2 Anaconda

Anaconda是一个由第三方软件公司开发的Python包的集合,里面包括了绝大多数常用的包。安装Anaconda之后,大部分Python用户就不用再安装其他的包了。除了这几百个包以外,Anaconda还包括两个IDE工具,即Jupyter Notebook和Spyder。图2-2所示是Anaconda中的IDE工具。

图2-2 Anaconda中的IDE工具

单击图2-2中的Anaconda Prompt,会看到如图2-3所示的Anaconda Prompt界面及Anaconda环境中的包。

在Anaconda Prompt界面的命令提示符之后键入conda list命令,则会输出Anaconda中包含的Python包。其中第一列是包的名字,第二列是包的版本号,第三列是安装渠道。

图2-3 Anaconda Prompt界面及Anaconda环境中的包

相信大家在使用Python的过程中会逐步意识到Python包版本的重要性,因为有不少棘手的问题都是因为包的版本不兼容造成的。

2.1.3 IDE

IDE是Integrated Development Environment(集成开发环境)的缩写。它是一种编程软件,集成了编程开发中的一些基本工具、基本环境和其他辅助功能。IDE一般包含三个主要组件,即源代码编辑器、编译器(Compiler)解释器(Interpreter)和调试器(Debugger)。

开发人员可以通过图形用户界面(GUI)访问IDE组件并且实现代码编译、调试和执行的整个过程。IDE也提供了帮助程序员提高开发效率的其他高级辅助功能,比如代码高亮显示、代码补全提示、语法错误提示、函数追踪、断点调试等。

适用于Python的IDE有多种,包括PyCharm、Jupyter Notebook、Spyder等。各个IDE的功能大同小异,开发者可根据自己的使用习惯选择不同的IDE。相关报道称,PyCharm软件的市场占有率目前排名第一。而笔者也比较偏向PyCharm,主要原因如下。

1)PyCharm提供了社区版和专业版,其中社区版软件免费,专业版收费。对于一般的使用者来说,PyCharm社区版就基本够用了。社区版免费对于笔者的业务来说非常重要,因为客户通常不接受盗版软件,一般也不愿意付额外的钱购买软件,PyCharm社区版正好符合他们的需求。

2)PyCharm的程序调试功能比较强,这也非常符合笔者的需求。笔者认为程序调试是编程人员最重要的能力之一。

2.2 安装过程中的常见问题

下面是两个在软件安装的过程中比较典型的问题。

1)为什么要安装Anaconda,它与Python软件有何关系?

Python软件是Python工作环境的核心部件,而Anaconda是一个Python包的集合,安装Anaconda是为了让Python的应用更方便一些。Python和Anaconda之间是相互独立的关系,即使没有Anaconda,Python照样可以运行。但是没有Python软件,则无法运行Python。

Anaconda软件比较大,安装后大概占据400MB以上的硬盘空间,有的开发者的设备内存较小,运行速度本来就比较慢,会担心电脑在安装了Anaconda之后变得更慢,于是想知道Anaconda是否可以不装。答案是可以不装。但是如果不装Anaconda,在代码运行的时候就需要自行安装所需的Python包,这个过程会比较烦琐。

2)选择什么IDE比较好?

IDE的选择没有一定之规,使用者按照自己的习惯确定即可。笔者已经习惯了PyCharm,同时,笔者认为对于初学者来说,无论是在解释器配置方面,还是在代码调试方面,PyCharm都比较合适。

2.3 Python的两种解释器

Python可以配置两种解释器,一是Python本身的解释器,二是Anaconda的解释器,两种解释器的应用场景有所不同。

为了配置Python的解释器,首先需要在计算机上查找Python和Anaconda的安装路径。笔者计算机的操作系统是Win10(Windows 10),单击屏幕左下角的视窗图标,输入“cmd”,即可以得到匹配成功的DOS命令符。图2-4所示是Win10操作系统中的DOS命令提示符。

单击“命令提示符”,图2-5所示是Windows操作系统中的命令提示符窗口。

图2-4 Win10操作系统中的DOS命令提示符

图2-5 Windows操作系统中的命令提示符窗口

在命令提示符后键入命令pip list,即可显示Python解释器中已经安装的包,图2-6所示是Python解释器中安装的包的相关情况。

图2-6 Python解释器中安装的包的相关情况

可以看到,在Python的解释器中只有两个包,分别是pip和setuptools,而Python编程中需要使用的大部分包都没有,需要我们自己安装。如果我们手动地逐一安装这些包,就会比较麻烦,这就是大部分人选择安装Anaconda的原因。

在输入pip list命令时,系统有可能会提示命令没法执行,这是因为在系统的Path中没有配置Python的路径,因此在配置Python的Path之前,先介绍一下如何查找Python和Anaconda的安装路径。

以Win 10操作系统为例。

1)单击屏幕左下角的视窗按钮,输入“Python”进行搜索。图2-7所示是在Win 10操作系统中搜索Python的结果。

2)右击图2-7所示界面中“最佳匹配”下的“Python 3.6(64-bit)”,然后在弹出的快捷菜单中选择“打开文件位置”,如图2-8所示。

图2-7 Win10操作系统中搜索Python的结果

图2-8 打开文件快捷方式的文件位置

3)在随后出现的图2-9所示的界面中找到Python快捷方式的位置,这里有多个Anaconda安装路径中的快捷方式。

图2-9 Anaconda安装路径中的多个Python快捷方式

4)右击图2-9所示的快捷方式,在随后弹出的图2-10所示的菜单中单击“属性”选项。

图2-10 在弹出菜单中单击“属性”选项

5)在出现的图2-11所示的界面中可以找到Python的安装路径。

图2-11 在“属性”选项卡中找到文件的安装位置

6)复制图2-11所示界面中“目标”一项对应的路径,并将其粘贴到文件管理器的地址栏中,则会看到图2-12所示的Anaconda在计算机中的安装位置。

在图2-12中所示的安装目录下即可找到python.exe可执行文件。

在得到Python的安装路径之后,即可以配置系统的Path,具体步骤如下。

图2-12 Anaconda在计算机中的安装位置

1)右击屏幕上的“此电脑”图标,然后在弹出的图2-13所示的快捷菜单上单击“属性”。

图2-13 右击“此电脑”并单击“属性”

2)如图2-14所示,查看有关计算机的基本信息,然后单击“更改设置”按钮。

3)单击“更改设置”后,如图2-15所示,在“系统属性”界面中单击“高级”标签。

4)在出现的图2-16所示的界面中单击“环境变量(N)...”按钮。

5)在弹出的图2-17所示的界面的“系统变量(S)”选项框中选择Path选项,然后单击“编辑”按钮。

6)进入图2-18所示的Path界面后,单击“新建”按钮以创建新的环境变量。然后将之前查找到的Python的安装路径和该安装路径之下的scripts路径添加到新建路径下面。图2-19所示是将Python软件的安装路径配置到Path界面中。

图2-14 在计算机基本信息中单击“更改设置”

图2-15 在系统属性中单击“高级”标签

图2-16 在“高级”标签中选择“环境变量(N)...”

图2-17 选择Path选项

图2-18 单击“新建”以创建新的环境变量

图2-19 将Python软件的安装路径配置到Path界面中

添加完毕后,环境变量中就会出现相应的内容,图2-20所示是Python软件安装路径被配置到系统Path界面中的效果。这说明Path中的Python的安装路径已添加完毕,在DOS Prompt框中输入“pip list”,即可以看到Python解释器中已经安装的Python包。

图2-20 Python软件安装路径被配置到系统Path界面中的效果图

下面介绍如何查找Anaconda的安装路径。

1)单击屏幕左下角的Windows视窗按钮,在随后出现的菜单中找到Anaconda Prompt,如图2-21所示。

图2-21 Windows程序菜单中的Anaconda Prompt

2)右击Anaconda Prompt,在出现的快捷菜单中选择“打开文件位置”,如图2-22所示。然后,找到相应的快捷方式并右击,就可以找到安装位置了。之后的步骤和查找Python的安装位置相同,这里不再赘述。

图2-22 查找计算机中文件快捷方式的安装位置

2.4 包的安装

现在介绍包的安装方法,安装Python包有两种方式:一是在线安装,二是下载包后离线安装。

2.4.1 在线安装

此安装方式要求计算机联网,安装命令为“pip install包名称”。以selenium包为例,进入Python的DOS Prompt后,输入命令pip install selenium即可开始安装。图2-23所示是计算机网络在线执行pip install selenium命令。

图2-23 计算机在线执行pip install selenium命令

安装过程结束之后,执行pip list命令,查看已经安装的包的情况。如图2-24所示,可以看到selenium包已经被成功安装。

图2-24 用pip list命令查看已经安装的包的情况

注意

“pip install包名称”是在线安装方式,因为Python官网服务器在境外,如果碰到网络不好或者包比较大的情况,则安装过程可能会很缓慢,甚至会安装失败。因此,推荐采用离线安装或者镜像安装的方式。

2.4.2 离线安装

仍然以selenium包为例,访问Python包的官网pypi.python.org并搜索“selenium”。图2-25所示是在Python包的官网上搜索selenium包的结果。

图2-25 在Python包的官网上搜索selenium包的结果

在所显示的结果中选择精确匹配的包或者发布时间最新的包,单击打开。图2-26所示是selenium包的详情页面。

图2-26 selenium包的详情页面

在图2-26所示的页面中,包的名称下方是在线安装命令,页面右侧部分是包的介绍,页面左下部分是“Download files”按钮,单击进入下载界面,如图2-27所示。

图2-27 Python官网中的包下载界面

在图2-27所示的页面中有两个格式的文件可供下载:一个是.whl文件,另一个是.tar.gz格式的文件。笔者习惯于选择后者,.tar.gz是一种压缩文件格式,单击下载到硬盘上,然后用rar等压缩软件进行解压。

在文件管理器中打开解压之后的目录,并确认其中存在setup.py文件,然后在地址栏中复制路径。图2-28所示是离线安装的包解压后的文件情况。

图2-28 离线安装的包解压后的文件情况

再进入DOS Prompt,首先用cd命令转到安装包setup.py所在的路径,命令是“cd路径”。图2-29所示是在DOS工作框中转到已下载文件包的路径。

图2-29 在DOS工作框中转到已下载文件包的路径

cd命令执行完以后,提示符显示还是在C盘中,键入命令“E:”(读者的计算机未必是E盘,输入相应的盘符加上“:”即可)。图2-30所示是在DOS Prompt中输入已下载文件包路径的盘符以转入该路径。

图2-30 在DOS Prompt中输入已下载文件包路径的盘符以转入该路径

这时提示符已经变为E盘了,再执行dir命令,检查该目录下面的文件名,确认是否包含setup.py。图2-31所示是确认下载解压之后的离线包中是否包含setup.py的过程。

图2-31 确认下载解压之后的离线包中是否包含setup.py

如果setup.py文件存在,就可以开始进行包的安装了,命令为“Python setup.py install”。图2-32所示是在DOS Prompt中执行命令安装离线包。

图2-32 在DOS Prompt中执行命令安装离线包

到这里,已采用离线方式安装好了Python,pip list命令之后的输出不再赘述。

2.5 PyCharm中的解释器配置

PyCharm是一款优秀的编程IDE工具,是目前市场占有率最高的Python编程工具。PyCharm能够实现两个解释器的配置,即Python解释器和Anaconda解释器。

下载PyCharm的官网地址是https://www.jetbrains.com/Pycharm/,图2-33所示是PyCharm软件的下载界面,进入该界面后单击“Download”按钮,然后选择“Community”,即社区版,此版本免费(“Professional”即专业版,是收费的)。社区版对于初学者来说基本够用了。

图2-33 PyCharm软件的下载界面

2.5.1 两种解释器的配置

假设一个项目(Project)有一个解释器A,解释器A只包含a 1 、a 2 、a 3 三个包的解释内容,但是没有包a 4 的解释内容。如果一个程序段中引用了包a 1 ,解释器A就会相应地进行解释,程序可以正常运行和调试;但是如果程序段引用了包a 4 ,解释器A就没法解释了,程序执行就会报错。

既然PyCharm中的解释器是包的集合,如果包的数量很多而且有的包还比较大,配置解释器消耗的系统资源会较多。例如,Anaconda包含几百个包,其中像机器学习、图形图像处理的包通常都比较大,如果用户的计算机配置不高,而且此用户并不需要机器学习这种比较大的包,那么该用户使用Anaconda作为解释器是比较浪费资源的。此时可以选择Python的解释器,Python的解释器允许使用者根据自己的需求灵活选择安装包。如果有的包不想用了,就可以随时卸载。

打开PyCharm软件(笔者使用的是PyCharm 2020年3月份发布的版本),再打开File,进而选择Settings,就可以看到图2-34所示的Python Interpreter界面。

在图2-34中可以看到有三个Project,每个Project对应硬盘上的一个文件夹,对于每个Project,都可以配置相应的解释器,比如可以将第一个Project配置成Python的解释器,将第二个Project配置为Anaconda解释器。

图2-34 Python Interpreter界面

配置解释器的过程如下。

1)选中一个Project。

2)单击PyCharm的解释器设置界面中的齿轮图标,如图2-35所示,则会显示已经配置过的解释器,如图2-36所示。

图2-35 单击PyCharm的解释器设置界面中的齿轮图标

图2-36 Add和Show All选项

3)在图2-36所示的界面中单击“Show All”选项,会显示所有的已经存在的解释器。如图2-37所示,在PyCharm的解释器设置界面中显示了已经配置过的解释器。

图2-37 在PyCharm的解释器设置界面中显示了已经配置过的解释器

从图2-37中可以看出,目前PyCharm中只有一个解释器,如果要增加一个解释器,则单击图2-36所示界面中的“Add”选项,然后在图2-37所示的界面中选择System Interpreter,并在右侧输入Python的安装路径。图2-38所示是在PyCharm的解释器设置界面中配置解释器。

图2-38 在PyCharm的解释器设置界面中配置解释器

注意

无论是Python的解释器,还是Anaconda的解释器,在解释器中输入路径时,都必须具体到python.exe文件。

至此,Python的解释器已经配置好了。图2-39所示是在PyCharm中配置的Python解释器的包。

图2-39 在PyCharm中配置的Python解释器中的包

如图2-39所示,在Python解释器中只有两个包,而图2-40所示是在PyCharm中配置的Anaconda解释器中的包,可以看到两者截然不同,包的种类和数量差别都很大。

在PyCharm中配置解释器时经常会碰到各种问题,下面介绍一个常见问题并提供对应的解决问题的过程,以帮助读者加深理解。

对Python来说Anaconda属于第三方软件,一个包成功安装后,有时会出现这样的情况:在Anaconda Prompt窗口中能够看到这个包,但是在PyCharm的代码中引用这个包时,代码运行会报错并提示找不到该包,用import语句导入该包时会发生错误。此时可以考虑将这个包重新装载一下。图2-41所示是在PyCharm的解释器设置界面中选择“+”以搜索包。

图2-40 在PyCharm中配置的Anaconda解释器中的包

1)单击图2-41所示界面上方的“+”按钮。

图2-41 在PyCharm的解释器设置界面中选择“+”以搜索包

2)搜索相关的包,例如pandas。图2-42所示是在PyCharm的解释器中搜索相应的包并且重新安装。如果搜索不到,说明PyCharm中找不到这个包,则需要重新安装。单击图2-42所示界面中的Install Package按钮,系统便会重新安装相应的包,并且会刷新整个Anaconda的包结构,这个过程需要持续数分钟(时间长短视配置高低而定)。刷新结束后,包即可以发挥作用。

图2-42 在PyCharm的解释器中搜索相应的包并且重新安装

2.5.2 Anaconda中第三方包的配置

本节介绍在Anaconda中安装第三方包的方法。首先要说明此处提及的“第三方包”容易引起歧义。因为相对于Python来说,Anaconda本身就是第三方软件,可能是因为Anaconda的知名度比较高,所以广大Python用户基本已经将Anaconda视为Python的固有组成部分,这里所说的Anaconda第三方包指的是Anaconda中没有包含的并需要另外安装的包。

Anaconda第三方包的安装过程如下。

1)下载需要安装的第三方包。

2)进入图2-43所示的Anaconda Prompt界面。Anaconda Prompt的上方有Anaconda字样,这与普通的DOS Prompt有明显的差别。

图2-43 进入Anaconda Prompt界面

3)用Python setup.py install命令安装第三方包,这与普通的DOS环境类似,不再赘述。

4)安装好以后,在PyCharm的Anaconda解释器中检查是否成功安装,如图2-44所示。

图2-44 在PyCharm的Anaconda解释器环境中查看目标包是否被安装

5)如果在Anaconda解释器中找不到该包,就可以先用图2-41所示的方法进行查找。如果查不到,那说明该包确实是安装失败了,就需要重新安装该包;如果能查到,那么重新执行install package命令,重启PyCharm,问题就基本能够解决了。

2.6 编译.py文件生成.exe文件

在工作中我们经常有生成.exe文件的需求,这是因为Python的环境搭建比较烦琐,如果直接把.py文件发送给使用者,对方为了运行.py文件要安装整套的Python环境,这在很多情况下都不方便,而将.py文件编译成.exe文件就会方便许多。

.exe文件的编译需要使用Python自带的IDLE软件,按键盘的Windows键就可以看到IDLE软件,如图2-45所示。

图2-45 Python中的IDLE软件

单击图2-45所示的IDLE选项,会看到图2-46所示的IDLE Shell界面。

图2-46 IDLE Shell界面

IDLE是Python自带的编程工具。由于市场上存在PyCharm、PyScripter、VS Code等著名的IDE软件,所以IDLE的知名度并不高,甚至在有一定经验的Python编程开发者中也有一些人不知道IDLE的存在。

IDLE直接对应于Python的解释器,IDLE编程界面即如图2-46所示。在DOS Prompt窗口中键入pip list命令,显示的就是IDLE对应的包,图2-47所示是在DOS Prompt中输入pip list命令查询已经安装的包。

以下是在Python中编译生成.exe文件的步骤。

1)在Python的解释器中安装pyinstaller包(即在图2-47中看到的pyinstaller包,pyinstaller是专门用于在Python中编译.exe文件的包)。

图2-47 在DOS Prompt中输入pip list命令查询已经安装的包

2)复制.py文件所在的路径。图2-48所示是在文件管理器中复制要编译的.py文件的路径。

图2-48 在文件管理器中复制要编译的.py文件的路径

3)在IDLE中验证代码。在IDLE中打开1-1.py文件,并在上方的菜单栏中点击“Run”来运行该.py文件,如图2-49所示。如果运行无误,则测试通过。

图2-49 在IDLE中运行.py文件

4)在DOS Prompt中转到要编译生成.exe文件的.py文件所在的路径,如图2-50所示。然后用dir命令验证路径的正确性,如图2-51所示。

图2-50 转到要编译生成.exe文件的.py文件所在的路径

5)编译生成.exe文件。使用的命令是pyinstaller-F 1-1.py,其中-F是表示文件打包方式的参数,如图2-52所示。图2-53所示是使用pyinstaller命令编译.exe文件的相关输出提示。如果出现如图2-53所示的“completed successfully”,则代表编译成功。

图2-51 用dir命令确认要编译生成.exe文件的.py文件所在的路径

编译成功后,在dist目录下就可以看到生成的.exe文件了。图2-54所示是使用Pyinstaller包生成的.exe文件。

图2-52 用pyinstaller命令编译.exe文件

图2-53 使用pyinstaller命令编译.exe文件的相关输出提示

图2-54 使用Pyinstaller包生成的.exe文件

双击图2-54中的.exe文件,可能会发现闪退的情况,根本无法看到生成的结果。这里给大家介绍一个小技巧:在编译生成.exe文件的相关代码的最后加入语句“x=input("请输入数字:")”,就不会出现闪退现象了。因为input函数的作用是让程序停止运行并且等待用户输入。相关代码如下:

再次执行上面的编译命令,得到新的.exe文件。双击执行新的.exe文件,该文件运行后会停下来等待用户输入,这样就解决了闪退的问题,如图2-55所示。

上面过程面向的是不包括库文件的代码,如果代码中包含库文件,即代码中有“import XXX”这样的语句,则需要在Python的解释器中安装好相应的包。例如,代码中有xlsxwriter,则需要在Python环境中装好xlsxwriter包,然后执行与上述相同的步骤,即在IDLE中测试代码,然后编译成相应的.exe文件。

图2-55 双击执行.exe文件后不再闪退 FkVcAe0sxBvL93OVrUoawhUXY9Cv8M9JPKz1RwT/tU8bG7/QCRt01Zw3WAMHCvlm

点击中间区域
呼出菜单
上一章
目录
下一章
×