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

4.1. 如何在Windows环境下开发Python
4.1.1. Python的最原始的开发方式是什么样的
4.1.1.1. 找个文本编辑器,新建个.py文件,写上Python代码
4.1.1.2. 打开Windows的cmd,并且切换到对应的python脚本所在目录
4.1.1.2.1. 方法1:手动打开cmd,并cd到对应路径
4.1.1.2.2. 方法2:通过Notepad++的Open current dir cmd
4.1.1.3. 在cmd中去运行你的Python脚本(.py文件)
4.1.2. 利用Python的shell进行交互式开发又是什么样的
4.1.2.1. 命令行版本的Python Shell – Python (command line)
4.1.2.2. 带图形界面的Python Shell – IDLE (Python GUI)
4.1.2.3. 关于(command line或GUI版本的)Python Shell的用途
4.1.3. 利用第三方Python的IDE进行Python开发又是怎么回事
4.1.3.1. 为何会有Python的IDE
4.1.3.2. 目前常见的一些Python的IDE
4.1.3.3. Python的IDE和Python代码编辑器,Windows的cmd,等的关系
4.1.3.4. 使用IDE时所遇到的一些常见的问题
4.1.3.4.1. IDE只能够打开了文件,并不代表就已经在shell中运行了该文件
4.1.3.4.2. 需要注意,确保有可以运行的Python起始部分的代码
4.1.4. 总结:到底使用哪种环境去开发Python
4.1.4.1. 对初学者的建议:如何选用Python的开发环境
4.1.5. 如何在Windows环境下使用Python脚本
4.1.5.1. 如何在Windows下的cmd中运行BlogsToWordpress.py
4.2. 如何在Linux环境下开发Python
4.3. 如何在Mac环境下开发Python
相关旧帖

【整理】Python语言简介

【整理】各种Python的IDE(集成开发环境)的总结和对比

【记录】使用Python的IDE:PyScripter

【已解决】PyScripter启动出错:Python could not be properly initialized. We must quit.

【记录】使用Python的IDE:Ulipad

【已解决】安装Ulipad后,选择启动Ulipad,结果无法启动

【记录】使用Python的IDE:Eclipse+PyDev

【教程】在Eclipse中安装PyDev

【教程】在Eclipse中配置刚安装好的PyDev插件

【教程】在Eclipse中使用PyDev进行Python开发

【已解决】把Eclipse中的PyDev中的Python代码中的很难看的中文换个好看点的字体

【已解决】Eclipse+PyDev无法调试Python:Unexpected IO Exception in Pydev debugger

【记录】折腾IDE工具:Aptana Studio 3

【已解决】Aptana Studio 3中通过Auto Config配置PyDev中Python出错:java.io.IOException: Cannot run program "python": CreateProcess error=2, The system cannot find the file specified

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;

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

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

所以在此个人推荐Notepad++。

此处,推荐用Notepad++去写Python代码,做Python开发,的原因除了本身Notepad++作为文本编辑器,好用之外,还有一个,相对来说,比较重要的问题:字符编码很多时候,由于Python开发者对于Python文件的编码,不太了解导致在开发期间,出现很多,相对比较常见的字符编码的问题所以,为了,更加深入的了解和学习,真正的掌握Python有必要,从一开始学习Python的时候就选用合适的工具,这样,避免后期,一些该知道的细节,尤其是文件的编码,不知道而犯各种常见的错误而关于Notepad++本身,不会使用,不熟悉,则可参考:

【crifan推荐】轻量级文本编辑器,Notepad最佳替代品:Notepad++

关于Notepad++的几乎一切的内容,都可以在上述的教程中找到。

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

需要手动去设置一下:

语言⇒P⇒Python

就可以看到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,如何切换到对应的路径等内容,不熟悉的话,可以去参考:

Windows的命令行工具: 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中也就可以看到输出的结果了:

 

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

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

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

  • Python (command line)
  • IDLE (Python GUI), IDLE中一次性粘贴多行代码再运行则会出错

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

Windows下,安装好Python后,command line版本的Python Shell的:

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

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

打开后就是这样的:

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

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

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

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

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

【整理】Python中的图形库

中的:

【记录】折腾Python中的Tkinter

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

 
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. 举例:用Python的IDLE去做URL解码

比如我之前就是借用Python的一些库函数,实现一些对于url解码的功能:

【已解决】在用google搜索出来的链接无法打开的情况下,如何找到该链接的真实地址

关于python编辑器的选择

python编辑器对比和推荐

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

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

关于其中的一些IDE的效果,可以参考:

【整理】各种Python的IDE(集成开发环境)的总结和对比

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

下面,随便找了一个Python的IDE,

比如

【记录】使用Python的IDE:PyScripter

通过截图来对比性的解释,

这样你就更容易理解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();
                

具体的解释,参见:

【整理】Python中的__name__和__main__含义详解

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

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

  1. 直接运行文本式的Python脚本文件

    我们所常见的,多数的Python脚本,都是此形式的。而关于Python脚本,其实就是一个文本文件,你可以用任何一个文本编辑器,比如windows的Notepad.exe来打开对应的后缀名为.py的文件,比如我所发布的,用于博客搬家到wordpress的Python脚本BlogsToWordpress.py

    而对于在Windows的命令行,即cmd下运行Python脚本,用起来,就是这个样子的:

    图 4.1. 在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)

    其打开后的效果如下:

    图 4.3. Python (Command Line)的界面

  2. 使用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

提示

上述gif动画演示,只支持HTML在浏览器中的显示。其他格式输出中,比如PDF中,不支持此gif动画。所以下面再用文字解释一下大概流程:用文字解释如何在Windows的cmd中运行Python脚本BlogsToWordpress.py

如果你是在非HTML格式,比如PDF等,中查看此文,想要看动画的话,猛击动画演示如何在Windows的cmd中运行Python脚本BlogsToWordpress.py

用文字简述就是:

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

  1. 打开Windows的命令行环境cmd

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

  2. 切换到对应的你的Python脚本所在位置

    可以先去拷贝你的Python脚本所在的路径,此处为:

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

    ,然后在cmd中输入

    E:
    cd E:\Dev_Root\svn_dev_root\website\python\BlogsToWordpress
  3. 输入脚本名(及参数),以运行Python脚本

    输入相应的python脚本命令:

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

    然后回车运行该脚本

4.1. 如何在Windows环境下开发Python的更多相关文章

  1. 如何在Windows环境下安装Linux系统虚拟机

    如何在Windows环境下安装Linux系统虚拟机 本篇经验写给想要入门学习C语言的小白们.Windows系统因为使用窗口图形化,操作简单,功能多样,所以我们在Windows环境下可以做到很多,但想要 ...

  2. 从零开始Windows环境下安装python+tensorflow

    从零开始Windows环境下安装python+tensorflow 2017年07月12日 02:30:47 qq_16257817 阅读数:29173 标签: windowspython机器学习te ...

  3. windows 环境下安装python MySQLdb

    使用Python访问MySQL,需要一系列安装 Linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装 http://blog.csdn.NET/wklken/arti ...

  4. 如何在Windows环境下模拟丢包

    [本文出自天外归云的博客园] Q&A Question: How to simulate packet loss on Windows? Answer: Clumsy, an utility ...

  5. windows环境下搭建python虚拟环境及离线移植

    以python3.6为例 ①安装virtualenv: #pip安装之后在D:\Python36\Scripts目录下可以看到多了一个virtualenv.exe可执行文件pip install vi ...

  6. 如何在Windows环境下安装JDK

    原文链接:http://android.eoe.cn/topic/android_sdk 1. JDK 的下载 JDK有好几个类型版本,我们只需要选择Java SE类型的版本就行了. 进入网页:htt ...

  7. [zz] pomelo windows 环境下开发环境搭建

    原文链接:http://nodejs.netease.com/topic/515279a0b5a2705b5a000983 本文主要介绍下 windows 下跑通 pomelo 简单例子的过程 开发前 ...

  8. Python Windows环境下安装Python集成开发环境 学习之路(一)

    一.安装下载安装 Python https://www.python.org/ 全部下一步,直接Finish  PyCharm http://www.jetbrains.com/pycharm/ 全部 ...

  9. windows环境下安装Python的Rtree包

    Rtree包是基于libspatialindex开发的,在安装Rtree之前必须先安装libspatialindex.关于libspatialindex,除了官网的英文外,这里有一个中文翻译过来的介绍 ...

随机推荐

  1. HttpRuntime类

    HttpRuntime在ASP.NET处理请求中负责的是创建HttpContext对象以及调用HttpApplicationFactory创建HttpApplication. 其定义如下: publi ...

  2. mongoDb c driver

    1,yum dependencies Centos,RHEL Fedora: $ sudo yum install git gcc automake autoconf libtool Debian: ...

  3. Bring Your Charts to Life with HTML5 Canvas and JavaScript

    Bring Your Charts to Life with HTML5 Canvas and JavaScript Bring Your Charts to Life with HTML5 Canv ...

  4. (转)Java 的swing.GroupLayout布局管理器的使用方法和实例

    摘自http://www.cnblogs.com/lionden/archive/2012/12/11/grouplayout.html (转)Java 的swing.GroupLayout布局管理器 ...

  5. 实现一次请求加载多个js或者css

    http://tengine.taobao.org/   相当牛x

  6. 设计模式入门之职责链模式Chain Of Responsibility

    //职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. //实例:申请费用的功能,不同金额的费 ...

  7. Cocos2d-X中实现菜单特效

    Cocos2d-X中能够讲菜单和动作结合起来使用实现菜单特效 程序实例1:使用菜单和动作的组合实现菜单特效<一> #include "MenuItem.h" CCSce ...

  8. js的for in循环和java里的foreach循环的差别

    js里的for in循环定义例如以下: for(var variable in obj) { ... } obj能够是一个普通的js对象或者一个数组.假设obj是js对象,那么variable在遍历中 ...

  9. cookie 和 session 基本使用 以及 封装

    Cookie: 是一小段文本信息,用户请求页面的时候,在浏览器和服务器之间传递.用户每次访问的时候都会记录cookie,cookie里可以包含用户信息,浏览的历史记录等等:Cookie是由服务器端生成 ...

  10. MySql5.1在Win7下的安装与重装问题的解决

    痛苦啊痛苦,我也不知道这两天怎么了.上班没有精神,还打瞌睡,下班后又感觉很累.精力集中不起来. 这篇花了我好久的时间,我效率这么差,~\(≧▽≦)/~. 软件包下载 首先单击mysql-5.1.53- ...