第 4 章 选择合适的Python开发环境

优质
小牛编辑
136浏览
2023-12-01

本章主要讲解,在安装了Python之后,针对开发环境的概念,进行深入浅出的介绍,最原始的开发环境以及常见的IDE开发环境的关系如何,以便使得读者真正了解到各种开发环境的内在关系和优缺点,

才能真正帮助读者选择合适自己的开发环境,提高自己的开发效率。

4.1. 如何在Windows环境下开发Python

此部分内容的目的:

希望对于,如何在Windows下,写Python代码,进行Python开发,运行Python脚本的人,看了此部分内容后,懂得了:

  • 什么是cmd下面去运行Python脚本
  • 什么是Python的交互式的shell
  • 什么是Python的IDE

看此部分内容之前,需要具有以下前提:

Python 语言的基本知识

包括知道其代码就是普通文本等基础知识,以了解关于计算机语言的宏观介绍就明白了。

已经在Windows中安装好了Python

关于此部分内容,详见:第 3 章 如何安装Python

下面,通过最简单的Python代码,此处只是打印一些Python版本信息和系统信息:

#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Author:     Crifan Li
Version:    2012-12-06
"""

import platform;
  
pythonVersion = platform.python_version();
uname = platform.uname();
  
print "Just for demo how to do python development under windows:";
print "Current python version info is %s"%(pythonVersion);
print "uname=",uname;

来说明,如何在Windows下,进行Python开发。

4.1.1. Python的最原始的开发方式是什么样的

相对来说,最原始的,最基本的,开发Python的方式,只是:

4.1.1.1. 找个文本编辑器,新建个.py文件,写上Python代码

Python代码,本身就只是文本;

所以,从原理上来说,只需要找个合适的文本编辑器,即可;

换句话说,如果只是简单的写写几行Python代码,你用Windows的记事本(Notepad),都是可以的,只不过,由于Notepad功能太弱,所以在此个人推荐Notepad++。

为何推荐用 Notepad++ 去写 Python 代码

此处,推荐用Notepad++去写Python代码,做Python开发,的原因

除了本身Notepad++作为文本编辑器,好用之外,还有一个,相对来说,比较重要的问题:字符编码,很多时候,由于Python开发者对于Python文件的编码,不太了解

导致在开发期间,出现很多,相对比较常见的字符编码的问题,所以,为了,更加深入的了解和学习,真正的掌握Python

有必要,从一开始学习Python的时候,就选用合适的工具,这样,避免后期,一些该知道的细节,尤其是文件的编码,不知道

而犯各种常见的错误

此处呢,对应的就是:

用我所推荐的Notepad++,新建一个文件,然后包括代码进入,存为对应的一个.py的文件。

而关于如何操作,此处也一点点截图,透彻的说明一下:

此处再次提示一下,一下Notepad++的所有功能,特性,用法,上面那个帖子中,都有专门的介绍。

想要更加详细了解的相关的Notepad++的某个特定功能的用法的,自己去看即可。

下面的截图,就不再事无巨细的解释Notepad++的功能特点了。只是截图解释如何操作而已。

打开Notepad++后,点击新建,新建出一个新的文件:

然后把上面给你们的代码,拷贝进去,就变成了:

此处由于是新建的空白文件,所以Notepad++,不知道你是Python代码,没法帮你自动实现语法高亮,

需要手动去设置一下:

语言PPython

就可以看到 Python 代码的语法高亮的效果了:

然后去保存到某个位置。

文件另存为

在弹出的对话框中,输入要保存的文件名:demoRunPythonUnderWindows

提示:其中可以看到 Notepad++ 自动帮你写好了 .py 后缀,那是因为你之前设置了Python语法高亮。然后再选择对应的路径去保存:

路径中不要包含(中文,空格等)特殊字符

对于保存文件来说,需要注意的是:Python,以及其他语言,开发期间,最好都不要让路径中带有特殊字符

此处所谓的特殊字符,指的是非(ASCII)英文字符,主要包括:

  • 中文字符
  • 空格
  • 其他特殊字符

而只包含普通的英文字符,即字母数字下划线。

比如,我此处的路径,用的是:E:\Dev_Root\python\how_to_dev_python\

否则,很容易在后期开发期间,出现一些异常现象,比如找不到文件,文件夹等问题,以及常见的中文路径无法识别等问题。保存好后,就是这样的了:

4.1.1.2. 打开Windows的cmd,并且切换到对应的python脚本所在目录

且换到对应的,Python文件所在的,文件夹,有两种办法:

4.1.1.2.1. 方法1:手动打开cmd,并cd到对应路径

而对于,什么是windows的cmd,如何打开cmd,如何切换到对应的路径等内容。

4.1.1.2.2. 方法2:通过Notepad++的Open current dir cmd

此处,使用一个更方便的办法,利用Notepad++中功能,直接打开cmd,并切换到对应路径:

然后就直接实现,打开了cmd,并且切换到对应的当前文件所在路径了:

4.1.1.3. 在cmd中去运行你的Python脚本(.py文件)

然后就是,在cmd中,输入你的Python脚本,即.py文件的完整的文件名。此处是:demoRunPythonUnderWindows.py

利用TAB键实现自动输入

正常的是通过手动输入对应的Python的完整的文件名,即,对于此处的demoRunPythonUnderWindows.py,一个个字母的输入,不过,此处有个小技巧,可以利用Windows(和Linux中通用的)Tab键,然后会自动显示出你当前目录的文件;

如果当前文件夹有多个文件,多次按Tab键,会在多个文件之间切换。

此处就一个文件,所以通过按Tab键,就可以一下子就显示出对应的整个文件名了:

然后输入回车,即可运行对应的Python脚本,接着在cmd中也就可以看到输出的结果了:

如此,就是一个,完整的,在windows的cmd中,运行Python脚本的流程了。

而接下来,作为正常的开发Python的流程就只是:

  • 你继续去修改你的Python代码,添加新的代码,然后保存python文件,
  • 再回到cmd中,重新再次运行Python,以验证程序运行是否正常,是否获得了你所期望的结果。
  • 如此反复,一点点,由少到多,一点点写出足够复杂的Python代码,实现你的复杂的功能。

4.1.2. 利用Python的shell进行交互式开发又是什么样的

Python有个shell,提供一个Python运行环境。方便你交互式开发。

即写一行代码,就可以立刻被运行,然后方便查看到结果。

而Python的Shell,在Windows环境下,又分两种:

  • Python (command line)
  • IDLE (Python GUI)

下面分别介绍一下。

4.1.2.1. 命令行版本的Python Shell – Python (command line)

Windows下,安装好Python后,你可以在开始菜单中,找到对应的command line版本的Python Shell的:

其实,Win7中,有个更方便的方式,直接在搜索框中搜python,即可找到:

打开后,就是这个样子的:

其中可以显示出来对应的python版本信息和系统信息。

然后就是三个大于号>>>接下来,你就可以像在之前所说的,

普通文本中输入python代码一样,在此一行行输入代码,然后就可以显示对应的信息了:

为何叫做交互式shell (interactive shell)

其中可以看到,当你输入对应的,第一行print时,此处命令行(command line)版本的Python Shell中,

就可以,动态的,交互式地,显示出对应的信息了。

正由于,此处可以,直接地,动态的,交互性式地,显示出对应的信息,

所以,才被叫做Python 的交互式的Shell,简称Python Shell。

对应的,把前面的代码都输入完毕,结果显示为:

4.1.2.2. 带图形界面的Python Shell – IDLE (Python GUI)

下面将要介绍的,同样是Python的Shell,但是是相对于command line版本而言,是GUI,带图形界面的版本的。

对应的打开方式,和上面类似,可以直接搜python而找到:

对应的,可以看到,其名字写的是IDLE

打开后就是这样的:

IDLE左上角的红色TK图标表示IDLE是用Tkinter图形库开发的

左上角的红色图标,好像是TK,是图形界面库的一种。

这个就是,很多Python教程中,

所常用来作为Python的开发环境,教别人写Python代码的那个IDLE。

关于Python中的Tkinter图形库,详见:

【整理】Python中的图形库

中的:

【记录】折腾Python中的Tkinter

对应的,输入上述的代码,结果也是类似的:

IDLE中一次性粘贴多行代码再运行则会出错

如果你对于IDLE的运行方式:交互式的,一行一行的输入,才能正常运行

不熟悉的话,作为新手,有些人会犯这样的错误:

在别处拷贝Python示例代码,然后一次性的粘贴多行代码到IDLE中

然后输入回车去运行:

结果,很明显,会出错:

此处是不能正常输入,之前所期望的python版本信息,

而是出现其他异常情况:只是显示此处的注释代码

(因为此处最开始部分的代码,就只是注释代码)

(如果你是其他的多行代码,则对应的就是出现其他对应的错误了)

而,如果想要正确的运行代码,

则应该和之前一样,正常的,一行一行的输入代码,并回车,去执行

才能正常的,显示出你所希望看到的信息

4.1.2.3. 关于(command line或GUI版本的)Python Shell的用途

而作为一般的Python开发的话,则很少有用这个Python Shell的,不论是command line的还是GUI版本的IDLE。

其比较适合用来测试,演示一些简单的代码的执行的效果。

好处是很方便,可以立刻看到代码执行的结果。

所以,结论就是:

对于 python 的 shell,不论是 command line 版还是 GUI 版,都比较适合偶尔要测试少量的Python代码的情况下去使用,而不适合长期的开发 Python。

4.1.3. 利用第三方Python的IDE进行Python开发又是怎么回事

什么是IDE

关于IDE的基本概念,不了解的先去看:

公式 4.1. 什么是IDE

IDE

= 集成开发环境

= 把开发相关的各种环境(和工具)都集成到一起

而 Python 的IDE,就是:

Python IDE

= Python的集成开发环境

= 把和Python开发相关的各种工具

  • Python代码编辑器:替代你前面用的Notepad++等文本编辑器
  • Python的运行环境:模拟或替代:Python的(命令行或GUI版本的,交互式)shell

集成在一起

另外再加上各种文件,代码,项目的组织,管理等方面的各种功能

以此去方便你运行对应的Python代码,

方便你进行Python项目的开发

4.1.3.1. 为何会有Python的IDE

而之所以会有Python的IDE的诞生,也很容易理解。

就是因为,如果开发Python过程中,写Python代码,调试Python代码,查找相关的函数的解释等等操作,如果都是基于前面介绍的,用Notepad++等编辑器去编辑Python代码,写完代码了,再切换到windows的cmd中去运行,往往觉得很麻烦。

尤其是大型项目的话,可能就更加显得不那么高效;

以及对应的需要一些额外的功能,比如调试复杂的Python代码,需要一点点跟踪调试,找到错误的根本原因等等。

上述的开发模式,就更显得力不从心。

所以,才会有:

Python 发展到现在,已经有了很多第三方的,别人开发的,可以用于或者专门用于Python开发的一些集成开发环境,即Python的IDE。

4.1.3.2. 目前常见的一些Python的IDE

罗列几个,相对用的比较广泛的(排名不分先后):

  • Ulipad
  • PyScripter
  • Wing IDE
  • Eclipse + pydev插件

4.1.3.3. Python的IDE和Python代码编辑器,Windows的cmd,等的关系

下面,随便找了一个Python的IDE,通过截图来对比性的解释,这样你就更容易理解Python的原始开发环境和Python的IDE之间的关系了:

这下,至少你应该对于:

  • Windows的cmd
  • Python的Shell
    • command line版本
    • GUI版本:IDLE
  • Python的IDE

三者之间的关系,有个大概的认识了。

4.1.3.4. 使用IDE时所遇到的一些常见的问题

4.1.3.4.1. IDE只能够打开了文件,并不代表就已经在shell中运行了该文件

这里有一个错误的例子,比如这里所遇到的:

如图,其在当前的IDE中,打开了一个.py文件:balanced_color_module.py

按照正常的逻辑,应该到菜单中去运行代码,然后再去对应的console中(此处估计是Debug I/O),去查看运行的结果。

但是,很明显,对于此处的那个py文件(balanced_color_module.py),即使运行该文件,也不会有什么print输出信息

另外,其此处没有打开对应的console,而是打开的是Python Shell,所以从逻辑上就是:

其在Python Shell中输入的任何代码,本质上和你当前IDE中所打开的py文件,都没有半毛钱关系的。

所以导致的结果就是,虽然在Python Shell中输入了一些代码:

color = {"red":0.2, "green":0.4, "blue":0.4}
balanced_color(color);

但是结果却出错,找不到对应的balanced_color函数。

所以,也就在常理之中,预料之内了。

因为,此时其所做的事情是:

使用了IDE,但是并没有使用IDE中集成的终端调试输出

却另外打开了Python Shell,

而由于此处的IDE中打开的代码,和Python Shell没有半毛钱关系,所以才会运行代码出错,找不到对应的函数的。

4.1.3.4.2. 需要注意,确保有可以运行的Python起始部分的代码

比如这里遇到的问题是,通过IDE中运行Python代码,但是没有响应:

其所遇到的问题,其实本质上,和IDE没有关系,但是不熟悉Python的人,还是容易在IDE中犯这类问题的。

错误原因是:

没有起始代码可以运行;

解决办法是:

把上面最后一行的

start();

去掉缩进,顶行写,变成:

start();

就可以了。使得Python可以执行到对应的start函数了。

当然,最好的写法是,把:

start();

再改为:

if __name__ == "__main__":
   start();

4.1.4. 总结:到底使用哪种环境去开发Python

一句话:各取所需。根据自己的需求,决定用什么开发环境。

4.1.4.1. 对初学者的建议:如何选用Python的开发环境

再加一句:针对初学者,我个人倒是建议使用第一种,即windows的cmd下,去运行python脚本

目的很明确:很多东西的学习,其本质上,都是需要一个循序渐进的过程的,学习Python语言同样如此。

在没有学会走路,即如何搞懂Windows的cmd下运行Python脚本,就想学会跑了,即直接利用Python的IDE,包括shell和第三方开发环境,结果就是,很多东西,还是不明白到底是为什么,理解的不透彻。

而当Python的基本知识,基本开发流程熟悉了之后,再建议你去使用第三方的Python的IDE,到时候,才能算是用着很爽。

即:

  1. 先:Windows 的 cmd + Notepad++
  2. 再:选用某个IDE,比如PyScripter,Ulipad,Eclipse+PyDev 等。

4.1.5. 如何在Windows环境下使用Python脚本

首先要说明的是,据我目前的了解,对于一般Windows的用户来说,想要使用已有的Python脚本的话,主要有两种形式可以使用。

直接运行文本式的Python脚本文件我们所常见的,多数的Python脚本,都是此形式的。而关于Python脚本,其实就是一个文本文件,你可以用任何一个文本编辑器,比如windows的Notepad.exe来打开对应的后缀名为.py的文件,比如我所发布的,用于博客搬家到wordpress的Python脚本BlogsToWordpress.py而对于在Windows的命令行,即cmd下运行Python脚本,用起来,就是这个样子的:

图 4.1. 在Windows下的cmd下面运行Python脚本的样子

在Windows下的cmd下面运行Python脚本的样子

Windows的cmd下运行Python脚本,不是在Python的Command Line工具下运行Python脚本对于此用法不太熟悉的新手,需要注意一点的是,不要把,在Windows下的cmd中运行Python脚本,和在Python(安装好后自带有的)Command Line去写Python代码,运行Python代码,相混淆了对于Python的Command Line,以我此处Python 2.7为例,是从开始菜单中找到的:开始菜单 ⇒ Python 2.7 ⇒ Python (Command Line),如图:

图 4.2. 开始菜单中找到的Python (Command Line)

开始菜单中找到的Python (Command Line)

其打开后的效果如下:

图 4.3. Python (Command Line)的界面

Python (Command Line)的界面

使用Python脚本发布者封装好的,可以独立运行的Python脚本对应的可执行文件此用法,必须要Python脚本发布者,专门在写完Python脚本的时候,专门去用相应的工具,将Python
的文本文件,封装成可以脱离Python运行环境,可以独立运行的可执行文件。说白了,就是一个exe可执行文件,而运行此exe文件,不需要安装
Python,即可运行。

4.1.5.1. 如何在Windows下的cmd中运行BlogsToWordpress.py

下面,以Win7为例,通过专门录制的gif动画,来说明,如何在Windows的cmd中,运行我的一个Python脚本:BlogsToWordpress.py

图 4.4. 动画演示如何在Windows的cmd中运行Python脚本BlogsToWordpress.py

动画演示如何在Windows的cmd中运行Python脚本BlogsToWordpress.py

提示

上述gif动画演示,只支持HTML在浏览器中的显示。其他格式输出中,比如PDF中,不支持此gif动画。

用文字简述就是:

用文字解释如何在Windows的cmd中运行Python脚本BlogsToWordpress.py.

打开Windows的命令行环境cmd开始 ⇒ 在"搜索程序和文件"的位置,输入cmd,win7会自动搜索到cmd,点击其以打开cmd

切换到对应的你的Python脚本所在位置可以先去拷贝你的Python脚本所在的路径,此处为:

E:\Dev_Root\svn_dev_root\website\python\BlogsToWordpress

然后在cmd中输入

E:
cd E:\Dev_Root\svn_dev_root\website\python\BlogsToWordpress

输入脚本名(及参数),以运行Python脚本输入相应的python脚本命令:

BlogsToWordpress.py -s http://blog.sina.com.cn/lifecoaching

然后回车运行该脚本

4.2. 如何在Linux环境下开发Python

介绍如何在Linux环境下运行Python脚本

如何进行Python的开发

4.3. 如何在Mac环境下开发Python

Mac 下本身已经安装了 Python,所以不需要额外安装Python,就可以直接在终端Terminal下去运行Python了。

在Mac下运行Python脚本的方法如下:

图 4.5. 在Mac下的Terminal中运行Python脚本:BlogsToWordpress

在Mac下的Terminal中运行Python脚本:BlogsToWordpress