Python之光:Python编程入门与实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 开发环境搭建

“工欲善其事,必先利其器。”虽然理论上编写代码只需要一个纯文本工具,比如Windows里的记事本,但面对复杂的代码和高效率的诉求时就需要用专业的工具。

代码运行的环境,即代码解释器,是运行代码的核心软件,它与代码编辑工具协同,使我们的代码编写工作顺利完成。

本节主要介绍Python解释器和代码编写工具的安装。

1.3.1 开发环境选择

IDE(Integrated Development Environment,集成开发环境)是辅助开发人员编写软件的软件,我们可以在这个环境里完成编写代码、调试运行、发布程序等工作,如果编写的是有界面的软件,甚至还可以在里面设计界面图形。IDE一般是有图形界面的,可以使用键盘和鼠标操作。

IDE可以提示我们补全代码,省去大量代码记忆和代码输入工作;可以对不同代码区域显示不同的颜色,以提高代码的可读性;可以帮助我们组织多文件代码,使代码组织层次更加清晰合理;可以帮助我们高效调试程序,快速找出代码运行的问题;还可以帮助我们管理代码开发版本,自动配置解释器版本等。

我们编写Python程序肯定少不了使用IDE,现在的问题是使用哪种IDE,因为Python的IDE实在太多,而且不断有新的IDE出现。

笔者根据经验在这里推荐Python解释器管理工具Miniconda,至于代码编辑器,推荐使用JupyterLab、Visual Studio Code(VS Code)和PyCharm,三者适用于不同的代码项目。一般情况下,学习Python、编写代码片段、做数据分析时推荐使用JupyterLab,写一些Python脚本文件、办公自动化等需要纯净执行环境时推荐使用VS Code,编写大型应用(如网站、界面软件、游戏等工程化程度高的项目)时推荐使用PyCharm。当然,第三种情况也可以考虑使用VS Code,但需要你自己配置相应的编辑器插件。

总体来说,不同的项目类型选择不同的代码编辑工具,能够最大化发挥工具的能力,从而提高我们的工作效率。

1.3.2 Python安装管理

Conda是一个开源软件包管理系统和环境管理系统,可以在Windows、macOS、Linux等操作系统上运行,它能快速安装、运行和更新软件包及其依赖项,可以轻松创建、保存、加载和切换环境,这就解决了我们安装Python、创建和管理多个Python版本的问题。

Anaconda是一个软件发行版,它预装了众多数据科学领域的Python第三方包,如NumPy、SciPy、IPython等,只要一次安装就可以获取这些第三方包,但这样也造成了Anaconda空间和内存占用较大,仅安装包就达五六百兆字节,安装后占用几吉字节的存储空间,里面的第三方包版本还可能与我们的实际需求不匹配等,这些都是问题。

Miniconda是Conda的最小免费安装程序,仅包括Conda、Python、它们所依赖的软件包以及少量其他软件包(包括pip、zlib)。可以使用Conda安装命令(conda install、conda update、conda remove等)从Anaconda存储库安装软件包。当然,也可以使用Python的pip命令来安装和管理软件包。

另外,还可以选择从Python官网(https://www.python.org),根据自己的操作系统类型进行下载和安装,Windows 10及以上用户也可在Microsoft应用商店中搜索Python 3.10安装。

macOS和Linux操作系统预装了Python,但由于版本过低,与系统管理功能耦合度高,建议不要直接使用,应该保持原Python版本不变,安装并使用新的Python解释器。接下来,我们将介绍Miniconda的安装,它能很好地帮助我们管理多个Python版本。

1.3.3 Miniconda安装

前面介绍过,Miniconda是一个虚拟环境管理和包管理工具。它安装方便,可以帮助我们免去手工配置Python环境的工作;同时作为瘦身版的Anaconda,它只包含Python和Conda,简洁,占用空间少,安装包只有五六十兆字节。

Miniconda安装包可以从https://docs.conda.io/en/latest/miniconda.html下载,此页面提供了Windows、macOS、Linux操作系统对应的安装包,需要注意的是:对于Windows系统,一般选择64-bit字样的安装包;对于macOS,要根据自己的设备型号选择Intel X86或Apple M1芯片的安装包;选择latest字样(即发布时间最新)的安装包,或者默认Python版本至少为3.9的安装包。

如果Miniconda官网及下载链接访问速度慢或者无法访问,可通过清华大学提供的镜像下载地址https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/下载,要注意选择发布时间最新的安装包,可以将页面最后一列date重新排序再查询。如果以上两个网站都不方便下载,可以直接访问笔者整理好下载链接的网页https://www.gairuo.com/p/python-install下载。

下载后,双击Windows的exe文件或者macOS的pkg文件,按照界面上的提示进行安装。对于macOS、Linux系统,还可以下载sh文件,在终端执行bash Miniconda3-latest-MacOSX-x86_64.sh命令安装,文件名是实际下载的文件名,并将文件放在终端当前的执行目录下(如果要更换当前执行目录,可参考下文)。

安装完成后就可以在终端中执行命令安装与管理Python解释器和软件包。要打开终端,在Windows系统中,找到并打开Anaconda Prompt。在macOS系统中,通过底部Dock栏打开启动台,在顶部搜索框搜索“Terminal”即可找到终端。如果你使用的是Mac电脑,推荐安装iTerm2作为自带Terminal的替代,非常好用。图1-1为在Windows和macOS中打开终端的情况。

在Windows中,(base)后面的磁盘路径是当前执行命令的位置;在macOS中,(base)后面是电脑的名称,如果想查看当前路径,可以执行ls命令。如果想更换当前路径,可以使用cd命令,比如:在Windows系统中,可以先执行d:换到D盘,然后执行cd D:\gairuo\study换到指定路径;在macOS系统中,直接执行类似cd /Users/gairuo/Downloads的命令(cd后是新路径)更换当前路径。使用Ctrl+C组合键可以终止正在运行的命令。

图1-1 Windows(上)和macOS中的终端

终端也是我们执行Python脚本的地方,后面编写的脚本都会在这里执行。可以输入python进入交互式环境,编写代码后按回车键执行,可以即时看到执行结果。

进入交互式环境首先看到的是Python的版本等相关编译、安装信息,可以在>>>后输入你的代码。输入exit()或者quit()可以退出Python交互式环境。交互式会话将允许你测试你编写的每一段代码,这是一个快速实验和测试Python代码的好地方。

1.3.4 安装与管理Python环境

接下来我们在终端中安装和管理Python的版本,并安装第三方库。终端中的(base)已经是默认的Python环境,我们可以在终端中执行python-V命令查看当前的Python版本。

笔者建议在不同的项目下安装不同的Python环境并选择合适的版本,以满足开发需求。这样做的好处是可以避免项目中第三方库与Python版本及其依赖的其他库发生冲突。接下来,我们安装Python 3.10进行学习,并将这个环境命名为py310。

在终端中执行conda create-n py310 python=3.10命令,该命令包含新的环境名和Python版本。要注意的是,Python的版本3.10不能写成3.1,软件版本号中的点并非小数点,而是版本号各部分的分隔符号。

执行以上创建新环境的命令后,按照界面提示同意协议、确认下一步,等待一两分钟会提示安装成功,终端中光标会闪动,等待下一个命令的输入。这时,执行conda activate py310进入刚刚创建的环境:

可以看到终端中的最新一行提示符左侧括号为新环境名称,说明已经安装成功,执行Python命令、安装Python包就会使用此环境。

要更换环境,可以执行conda deactivate退出当前环境并进入base环境。想查看Conda下所有的环境,可以执行conda info-e。以下是笔者电脑上安装的Python情况:

上面输出了所有环境的列表,包含名称和环境的安装路径,带星号的是当前环境。想删除指定环境,可以执行类似conda remove-n py310--all的命令。

另外,执行命令conda--version可以查看Conda的版本,执行命令conda update conda可以升级Conda。

1.3.5 安装第三方库

写Python怎能不安装第三方库呢?一个环境只能安装一个指定库,因此先要选择在哪个环境下安装你需要的库,否则你可能会装错环境,导致找不到已安装的库。

在指定的环境下,可以使用conda install numpy命令安装NumPy,使用conda uninstall numpy来卸载。不过笔者还是推荐使用pip在环境里进行库管理,以下是pip安装库的几个常用命令:

由于存储库的项目网站PyPI在海外,有时下载过程会稍慢,此时我们同样可以使用清华大学提供的镜像站点,安装命令变成:

这样库的下载速度会大大提升。还可以试试其他源,如https://pypi.douban.com/simple(豆瓣)、http://mirrors.aliyun.com/pypi/simple(阿里云)等。

用conda list和pip list命令都可以查看当前环境下已经安装的库列表。

1.3.6 JupyterLab

JupyterLab(官网https://jupyter.org)是一个交互式的代码编辑器,打开它会打开一个网页,可以在其中编写代码,即时执行,快速得到结果(包括代码返回值、统计图和界面交互图),还可以编写笔记文档。它经常应用于数据科学领域。JupyterLab将是我们学习Python的主阵地(不再推荐使用Jupyter Notebook),即使在写大型项目时,也可以在JupyterLab上做代码原型验证。它的界面如图1-2所示。

图1-2 JupyterLab界面截图

JupyterLab以Python第三方库的形式进行安装。如果想在某个环境中安装JupyterLab,需要在终端中进入此环境,执行安装库的命令:

经过两三分钟便可完成安装,之后在终端中执行jupyter lab命令,会在浏览器中打开一个网页,如未自动打开,可将界面上提示的网址复制到浏览器中手动打开。

JupyterLab左侧的文件目录是当前的文件目录,如果不是想要的,可以参考上文在终端执行jupyter lab命令前转到期望的目录再执行。在使用JupyterLab的过程中不要关闭终端窗口,如果需要执行命令,可以再打开一个终端窗口。

新建Notebook时,单击左侧文件目录旁边的加号,在右侧界面中单击Python 3(ipykernel)图标便可以成功创建一个未命名的Notebook,如图1-3所示。在左侧文件目录中可以看到这个扩展名为ipynb的Notebook文件,右击可以对其进行更名、删除、下载、拖动等操作。可以在单元格中编写代码,并按Shift+Enter组合键执行代码。

图1-3 JupyterLab创建Notebook界面

要特别注意的是,每个单元格可以独立执行,输出内容在代码框下方,而左边方括号里的数字是代码执行的次序。执行完下一个单元格的代码,可以再跳到上面单元格执行,而这个数字是按执行顺序编的。这就要注意,代码执行顺序不同会导致上下文不同,输出的结果可能也会不同。要完全重新执行,就要在Kernel菜单中选择Restart Kernel重启当前内核,清除所有变量内容。关于JupyterLab的更多使用细节读者可以自行查阅资料,有些重要功能后文会涉及。

JupyterLab目前的代码提示功能还比较弱,推荐安装jupyterlab-lsp插件,它具有代码导航、悬停建议、自动完成、重命名等功能,可以为JupyterLab提供编码帮助。用pip安装以下两个库:

这样我们在编写代码时,在变量名、函数名处按Ta b键,会看到增强的代码提示功能。JupyterLab还有一个实用的功能,即在名称上、名称后或者调用括号中按Shift+Tab组合键会显示Docstring帮助文档,这样我们就可以知道函数方法的用法及示例。

表1-3是一些常用的JupyterLab快捷键。

表1-3 常用的JupyterLab快捷键

JupyterLab还支持一些魔法方法,它们以%开头,写在单元格内代码开头处或者开头行,以支持一些特殊的功能,今后我们会用到。表1-4是一些常用的JupyterLab魔法方法。

表1-4 常用的JupyterLab魔法方法

1.3.7 VS Code

Visual Studio Code(简称VS Code)是微软开发的一个开源、免费、轻量级、跨平台、支持多语言的代码编辑器,近些年来在Python社区受到众多开发者的追捧。它的特点是速度快,占用资源少,代码提示功能强大,拥有丰富的第三方开源插件,能满足开发者的个性化功能定制需求。

要安装VS Code,可以到其官方网站https://code.visualstudio.com选择合适的安装包下载,双击安装包依提示即可完成安装。完成后展开左侧扩展栏搜索并安装Python支持,还可以安装名为jupyter的扩展来支持Jupyter Notebook的功能,以创建和打开ipynb文件。

创建一个py文件,然后可以看到在右下角Python字样后有环境名称,如3.10.8('Py310':conda),单击此名称可在弹出的下拉选项中选择我们之前安装的其他Python环境。

最终在VS Code中编写Python代码的界面如图1-4所示。

图1-4 VS Code界面

VS Code有非常好用的快捷键来操作编辑器,可以依次选择帮助(Help)、快捷键参考(Keyboard Shortcuts Reference)选项打开快捷键说明文档。

1.3.8 PyCharm

PyCharm是著名软件开发公司JetBrains开发的专业Python开发工具。目前它是使用最广泛、功能最齐全的Python编辑器,由于功能强大,容易上手,各个层次的Python开发人员都可以快速上手使用。它的主要缺点是占用系统资源较多,专业版本收费。针对收费问题,学生和科研人员可以在其官网申请免除费用,其他人员可以下载其免费的社区版本,社区版本只有简单的纯Python开发功能。

安装PyCharm非常简单,访问下载页https://www.jetbrains.com/zh-cn/pycharm/download/,选择合适的版本,下载后直接按提示安装即可。

安装完成后启动软件,可以在文件菜单中选择新建项目,在左侧的项目目录里选择新建Python文件。最关键的是配置Python解释器。单击编辑器的右下角,选择解释器设置(或者单击选择PyCharm的首选项,找到项目里的Python解释器选项),下拉选择解释器,如果没有我们要安装的解释器,可以单击旁边的加号添加本地解释器,在弹出的界面中选择Conda图标进行配置。

最终PyCharm编写代码的界面如图1-5所示。

图1-5 PyCharm编写代码的界面

和VS Code一样,PyCharm也支持Jupyter Notebook的功能,可创建、编写和打开ipynb文件。

1.3.9 小结

本节介绍了如何搭建Python的开发环境,如何用Miniconda管理Python开发环境,以实现多版本的效果。

本节还介绍了几款代码编辑器,并告诉大家如何安装它们。JupyterLab将是我们学习Python的主力工具,VS Code主要用于编写一些脚本和小项目,PyCharm将用来完成大型工程化项目。在安装和配置过程中难免会遇到不少问题,好在这些工具的官方及网友在网上发布了非常多的图文和视频教程供我们参考,相信你通过学习这些资料和自主搜索解决办法可以搭建一个完美的开发环境。

如果想使用Docker容器安装Miniconda,可通过https://hub.docker.com/r/continuumio/miniconda3获取相关资料。

软件和需求在更新迭代,新的工具层出不穷,你可以不断探索,一定会找到自己心仪的工具。