4.1. 如何在Windows环境下开发Python
下面,通过最简单的Python代码,此处只是打印一些Python版本信息和系统信息:
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Function:
【整理】如何在Windows下开发Python(如何运行Python脚本)
http://www.crifan.com/how_to_do_python_development_under_windows_environment
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;
所以在此个人推荐Notepad++。
此处,推荐用Notepad++去写Python代码,做Python开发,的原因除了本身Notepad++作为文本编辑器,好用之外,还有一个,相对来说,比较重要的问题:字符编码很多时候,由于Python开发者对于Python文件的编码,不太了解导致在开发期间,出现很多,相对比较常见的字符编码的问题所以,为了,更加深入的了解和学习,真正的掌握Python有必要,从一开始学习Python的时候就选用合适的工具,这样,避免后期,一些该知道的细节,尤其是文件的编码,不知道而犯各种常见的错误而关于Notepad++本身,不会使用,不熟悉,则可参考:
【crifan推荐】轻量级文本编辑器,Notepad最佳替代品:Notepad++
关于Notepad++的几乎一切的内容,都可以在上述的教程中找到。
需要手动去设置一下:
语言⇒P⇒Python
![]() |
就可以看到Python代码的语法高亮的效果了:
![]() |
然后去保存到某个位置。
文件⇒另存为
在弹出的对话框中,输入要保存的文件名:demoRunPythonUnderWindows
提示:其中可以看到Notepad++自动帮你写好了.py
后缀,那是因为你之前设置了Python语法高亮。
然后再选择对应的路径去保存:
![]() |
Python,以及其他语言,开发期间,最好都不要让路径中带有特殊字符此处所谓的特殊字符,指的是非(ASCII)英文字符,主要包括:
- 中文字符
- 空格
- 其他特殊字符
而只包含普通的英文字符,即字母数字下划线。
比如,我此处的路径,用的是:
E:\Dev_Root\python\how_to_dev_python\
否则,很容易在后期开发期间,出现一些异常现象
比如找不到文件,文件夹等问题
以及常见的中文路径无法识别等问题。
保存好后,就是这样的了:
![]() |
且换到对应的,Python文件所在的,文件夹,有两种办法:
而对于,什么是windows的cmd,如何打开cmd,如何切换到对应的路径等内容,不熟悉的话,可以去参考:
然后就直接实现,打开了cmd,并且切换到对应的当前文件所在路径了:
![]() |
然后就是,在cmd中,输入你的Python脚本,即.py
文件的完整的文件名。
此处是:
demoRunPythonUnderWindows.py
然后输入回车,即可运行对应的Python脚本,接着在cmd中也就可以看到输出的结果了:
Python有个shell,提供一个Python运行环境。方便你交互式开发。
而Python的Shell,在Windows环境下,又分两种:
- Python (command line)
- IDLE (Python GUI), IDLE中一次性粘贴多行代码再运行则会出错
Windows下,安装好Python后,command line版本的Python Shell的:
![]() |
下面将要介绍的,同样是Python的Shell,但是是相对于command line版本而言,是GUI,带图形界面的版本的。
打开后就是这样的:
![]() | IDLE左上角的红色TK图标表示IDLE是用Tkinter图形库开发的 |
---|---|
左上角的红色图标,好像是TK,是图形界面库的一种。 这个就是,很多Python教程中, 所常用来作为Python的开发环境,教别人写Python代码的那个IDLE。 关于Python中的Tkinter图形库,详见: 中的: |
对应的,输入上述的代码,结果也是类似的:
罗列几个,相对用的比较广泛的(排名不分先后):
- Ulipad
- PyScripter
- Wing IDE
- Eclipse + pydev插件
关于其中的一些IDE的效果,可以参考:
【整理】各种Python的IDE(集成开发环境)的总结和对比
下面,随便找了一个Python的IDE,
比如
通过截图来对比性的解释,
这样你就更容易理解Python的原始开发环境和Python的IDE之间的关系了:
![]() |
这下,至少你应该对于:
- Windows的cmd
- Python的Shell
- command line版本
- GUI版本:IDLE
- Python的IDE
三者之间的关系,有个大概的认识了。
这里有一个错误的例子,比如这里所遇到的:
![]() |
如图,其在当前的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没有半毛钱关系,所以才会运行代码出错,找不到对应的函数的。
比如这里遇到的问题是,通过IDE中运行Python代码,但是没有响应:
![]() |
其所遇到的问题,其实本质上,和IDE没有关系,但是不熟悉Python的人,还是容易在IDE中犯这类问题的。
错误原因是:
没有起始代码可以运行;
解决办法是:
把上面最后一行的
start();
去掉缩进,顶行写,变成:
start();
就可以了。使得Python可以执行到对应的start函数了。
当然,最好的写法是,把:
start();
再改为:
if __name__ == "__main__": start();
具体的解释,参见:
【整理】Python中的__name__和__main__含义详解
首先要说明的是,据我目前的了解,对于一般Windows的用户来说,想要使用已有的Python脚本的话,主要有两种形式可以使用。
- 直接运行文本式的Python脚本文件
我们所常见的,多数的Python脚本,都是此形式的。而关于Python脚本,其实就是一个文本文件,你可以用任何一个文本编辑器,比如windows的
Notepad.exe
来打开对应的后缀名为.py的文件,比如我所发布的,用于博客搬家到wordpress的Python脚本BlogsToWordpress.py
而对于在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),如图:
其打开后的效果如下:
- 使用Python脚本发布者封装好的,可以独立运行的Python脚本对应的可执行文件
此用法,必须要Python脚本发布者,专门在写完Python脚本的时候,专门去用相应的工具,将Python的文本文件,封装成可以脱离Python运行环境,可以独立运行的可执行文件。说白了,就是一个exe可执行文件,而运行此exe文件,不需要安装Python,即可运行。
下面,以Win7为例,通过专门录制的gif动画,来说明,如何在Windows的cmd中,运行我的一个Python脚本:BlogsToWordpress.py
![]() | 提示 |
---|---|
上述gif动画演示,只支持HTML在浏览器中的显示。其他格式输出中,比如PDF中,不支持此gif动画。所以下面再用文字解释一下大概流程:用文字解释如何在Windows的cmd中运行Python脚本BlogsToWordpress.py 如果你是在非HTML格式,比如PDF等,中查看此文,想要看动画的话,猛击动画演示如何在Windows的cmd中运行Python脚本BlogsToWordpress.py |
用文字简述就是:
用文字解释如何在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
然后回车运行该脚本