2.3 开发环境安装配置#
在Python开发中,最常用的集成开发环境(Integrated Development Environment, IDE)有两个:一个是Jupyter Notebook,而另一个则是大名鼎鼎的PyCharm。在本节内容中,我们将分别就这两种常见开发工具的使用方法做一个简单的介绍。
2.3.1 Jupyter Notebook安装与使用#
Jupyter Notebook是一个非常强大的工具,尤其是在数据科学、科学研究和展示复杂数据分析项目等方面。Jupyter提供了交互式的编程环境、允许我们分段运行代码和持久化保留运行结果,这使得实验性分析和数据探索变得非常简单。同时,Jupyter开发页面对数据可视化工具(如 Matplotlib、Seaborn、Plotly 等)也有很好的支持,使得创建交互式图表和可视化变得简单。此外,Jupyter还支持在开发页面以Markdown格式来撰写相关说明文档。
1. Jupyter Notebook安装
Jupyter Notebook同其它Python软件包一样,我们可以直接使用pip install来进行安装。这里需要注意的是,由于Jupyter本质上也是一个Python软件,所以我们可以在不同的Python虚拟环境中安装Jupyter,这也就意味着我们启动不同环境下的Jupyter时对应的Python环境就是该Jupyter所在的Python环境。
例如我们需要在2.2.2节内容中建立的py38这个虚拟环境中安装Jupyter,那么我们首先需要使用conda命令进入到该虚拟环境,然后进行安装。安装命令如下所示:
1 conda activate py38
2 pip install notebook2. Jupyter Notebook使用
在完成Jupyter安装以后,我们可以直接通过命令jupyter notebook进行启动,默认为8888端口,当然我们还可以通过--port参数来指定端口。同时,如果使用的是root用户可能会出现无法启动的现象,此时可加入参数 --allow-root来进行启动。完整命令如下所示:
1 jupyter notebook --ip=0.0.0.0 --port=8778 --allow-root在启动完成后我们便会看到如图2-25所示的结果。
进一步,我们在本地浏览器中输入服务器的地址和端口,例如http://23.10.8.221:8778,然后便能看到类似图2-26的界面。
然后将图2-25中的token粘贴到图2-26中的输入框,然后点击Log in按钮即可完成登录,并看到类似如图2-27的界面。如果是在自己本地主机上启动Jupyter,则只需要通过命令jupyter notebook,然后在浏览器中打开链接http://127.0.0.1:8778即可使用Jupyter工具。
如图2-27所示,当前所展示的内容就是服务器上启动运行Jupyter Notebook所在目录的内容。此时我们点击左上角的File按钮,并新建一个Notebook文件,如图2-28所示。
在图2-28中点击Notebook以后将会出现选择Python解释器的弹窗,如图2-29所示。
如图2-29所示,选择当前默认的Kernel即可,即使用Jupyter Notebook所在的Python环境来解释后续代码,点击Select按钮继续。
此时,我们便可以在页面中输入相关的Python代码,然后点击上方的运行按钮运行,如图2-30所示。
同时,我们也可以对数据进行可视化,如图2-31所示。
以上就是关于Jupyter Notebook的简要介绍。可以看出,使用Jupyter Notebook最大的一个好处就是每个代码块之间的运行是相互隔离的,在下一个代码块中可以使用上一个代码块中的结果,但上一个代码块的输出结果并不会随着下一个代码块的运行而消失,也就是可以记录整个程序的运行过程和结果。
2.3.2 PyCharm安装与使用#
PyCharm是由JetBrain公司所推出的一款商业开发软件。相比于Jupyter Notebook,PyCharm的缺点就是软件过于笨重,但是PyCharm也有着它本身的优势。PyCharm提供代码自动补全、代码提示和语法高亮等功能,这些功能可以提高编码效率并帮助开发者避免错误。PyCharm还内置了一个强大的调试器,支持断点、步进、变量查看等功能,可以帮助开发者更容易地找到并修复代码中的错误。同时,PyCharm集成了版本控制系统(如Git)和Python控制台等,为开发者提供了一个全面的工作环境。可以看出,PyCharm更加侧重于工程开发,而Jupyter Notebook侧更加侧重于数据分析和科学研究。
首先需要到PyCharm官网 [1] 下载离线安装包,在这里我们可以选择免费且开源的社区版,如图2-32所示。
1. 安装PyCharm
双击下载好的安装包,然后持续单击“下一步”按钮。当执行到图2-33所示的界面时,可以勾选图中的两个选项,然后继续单击“下一步”按钮。
最后,点击如图2-24所示的“完成”按钮,即可完成PyCharm的安装过程。
2. 配置PyCharm
在安装完成后,双击桌面上的PyCharm图标,在第1次打开时可能会有如图2-35所示的提示。
此时,在图2-35中我们可以点击左侧的Customize按钮来修改PyCharm的字体和皮肤等设置。进一步,我们点击图2-35中右侧的New Project按钮来创建一个新的Python工程,并按照图2-36所示的内容输入相应的工程名称、选择路径和对应的Python解释器。
在图2-36中,Path to conda是上一节内容中安装Conda的路径,默认情况下此处会自动索引添加;Environment是选择对应的虚拟环境,其中第1个是Conda默认的base环境,py38则是我们通过Conda创建的Python虚拟环境。在解释器选择完成后单击Create按钮,然后再点击OK按钮即可完成工程的创建。进一步,鼠标移动至左上角工程名,单机右键新建一个Python文件,如图2-37所示。
此时便可以在新建的Python文件中编写相关代码,并点击第1行旁边的按钮运行,如图2-38所示。
同时,在图2-38中,我们可以点击左侧的External Libraries标签,然后便会看到site-packages目录,在有需要的情况下可以在其中查找通过pip install安装的相关Python包代码。
3. 更换解释器
在后续过程中如果需要更换虚拟环境(解释器),则可先单击左上角的File按钮,然后再选择Settings选项,再单击其中的Project Interpreter选项,最后选择下拉框中的Show All选项,如图2-39所示。
在我们点击Show All选项后便能够看到如图2-40所示的界面,进一步点击左上角的+按钮,便进入到图2-41所示的界面。
如图2-41所示,我们便可以看到除py38之外的其它Python虚拟环境。这里我们选择py39,进一步点击OK按钮,便进入到2-42所示的界面。
如图2-42所示,相比于图2-40多了一个py39的Python虚拟环境。
最后,点击图2-42中的OK按钮,即可完成Python解释器的切换。
2.3.3 远程连接使用#
在日常代码开发过程中,通常我们都会在本地调试代码然后再将代码拷贝到服务器上运行,所以我们需要一个工具来帮助我们连接远超服务器并使用。同时,如果需要提高开发效率的话,我们还需要一种方法来实时同步本地修改过的代码到远程服务器对应的目录,并使用服务器上的Python环境调试运行。当然,如果使用Jupyter Notebook进行开发使用则不涉及这样的问题。
1. 连接工具
在连接工具的选择中,最简单直接的便是使用系统自带的命令行窗口。无论是使用Mac OS、Linux还是Windows系统,我们打开命令行终端(窗口)以后可以通过如下命令来登录远程服务器。
1 ssh username@ip例如登录一个IP为192.168.10.101,用户名为moon的主机,则命令为:
1 ssh moon@192.168.10.101登录成功以后将会看到类似如下提示:
Last failed login: Sat Feb 17 19:11:58 CST 2024 from 192.168.10.101 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Sat Feb 17 19:10:05 2024 from 192.168.10.101虽然直接使用系统自带的命令行终端进行登录较为方便,但是当我们拥有多个主机时系统自带的终端并不能帮我们管理这些主机,即每次登录都需要我们手动输入IP和密码等信息。此时,在Windows上我们可以使用教育邮箱申请Xshell工具使用,或者使用免费版本的Mobaxterm和Terminus工具;在Mac OS上可以使用FinalShell或者是Terminus工具。这些工具除了能够帮助我们管理多台远程主机,同时还能够便捷地将本地文件上传到远程主机上,或者将远程主机上的文件下载到本地主机上。
2. 同步工具
尽管我们可以通过上面介绍到的连接工具将本地的代码上传到远程主机上运行,但是在某些场景下我们可能需要多次来回修改代码并希望修改完成后代码能够自动同步到远程主机上。对于这样的需求,在Windows上我们可以借助WinSCP工具来进行实现。
在完成WinSCP的安装以后,我们首先需要登录到对应的远程主机上,如图2-43所示。
输入主机名、用户名和密码之后我们点击“登录”按钮,然后在进一步的提示框中选择“接受”即可登录到远程主机,如图2-44所示。
在2-44中左侧为本地主机的文件目录,右侧为远程主机的文件目录。在完成本地和远程目录的选择以后,我们可以在左侧对需要上传的文件或文件夹单击右键,然后点击“上传”按钮,然后在弹窗中点击“确定”即可,如图2-44所示,这样本地文件便会上传到远程主机上。从远程主机现在文件到本地目录同理。
进一步,如果我们需要将本地文件或目录实时同步到远程主机,我们需要先按住Ctrl键并逐一选中需要同步的文件或文件夹,然后点击左上角的“保持远程目录最新”按钮,如图2-45所示。
在2-45所示的弹窗提示中,我们勾选“只对现有文件”和“只对选中文件”,然后点击“开始”按钮,并在进一步的弹窗中选择“是”。这样选中的目录便会处于被监控中,只要文件内容发生变化便会自动被同步到远程主机上,如图2-46所示。
根据图2-46可以看出,本地文件test.py发生变化以后便被同步到了远程主机的对应目录中,此时我们点击“最小化”按钮便可以让整个程序在后台运行。
这样,借助上述两个工具我们算是实现了一种间接的实时同步开发流程,不过作为学生我们还可以使用学生认证身份去JetBrain官网申请专业版的PyCharm软件,这样便可以直接使用PyCharm专业版自带的实时同步工具并且还支持在IDE中登录远程服务器进行使用。
2.3.4 小结#
在本节内容中,我们首先介绍了Jupyter Notebook的安装与使用过程;进一步我们详细介绍了PyCharm安装与使用,包括PyCharm的配置和Python解释器的配置和修改等;最后我们介绍了如何通过ssh工具来连接远程主机,以及配置完成一个实时同步的Python开发环境。在下一节内容中,我们将开始正式介绍深度学习的入门内容。
引用#
[1] https://www.jetbrains.com.cn/pycharm/download/?section=windows
[2] https://mobaxterm.mobatek.net/