zoukankan      html  css  js  c++  java
  • 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE

    http://www.crifan.com/how_to_do_python_development_under_windows_environment/

    本文目的

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

    什么是cmd下面去运行Python脚本;

    什么是Python的交互式的shell;

    什么是Python的IDE。

    前提知识

    看此文之前,需要知道:

    Python语言的基本知识

    包括知道其代码就是普通文本等基础知识

    不了解的,可以先去看:

    【整理】计算机语言基础知识介绍

    以了解关于计算机语言的宏观介绍;

    再去看:

    【整理】Python语言简介     
    就明白了。

    已经在Windows中安装好了Python

    【TODO:写教程解释如何安装Python】

    另外提示一下,关于版本的选择:

    【整理】总结Python2(Python 2.x版本)和Python3(Python 3.x版本)之间的区别

    如何在Windows下开发Python(如何运行Python脚本)

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

    ?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    """
    Function:
    【整理】如何在Windows下开发Python(如何运行Python脚本)
     
     
    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开发。

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

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

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

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

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

    换句话说,如果只是简单的写写几行Python代码,你用Windows的记事本(Notepad),都是可以的;

    只不过,由于Notepad功能太弱,所以在此个人推荐Notepad++。

    关于Notepad++的内容,你想要的,几乎所有的内容,都可以在这里找到解释:

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

    此处呢,对应的就是:

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

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

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

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

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

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

    npp new file

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

    copied python code

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

    需要手动去设置一下:

    语言->P->Python:

    set to python highlight

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

    highlighted python code

    然后去保存到某个位置。

    文件->另存为:

    file save as

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

    提示:其中可以看到Notepad++自动帮你写好了.py后缀,那是因为你之前设置了Python语法高亮。

    然后再选择对应的路径去保存:

    提示:

    我此处的路径是:

    E:Dev_Rootpythonhow_to_dev_python

    你自己随便,只是要注意,路径中,不带中文的。以避免各种中文路径不识别等问题。

    input file name and save to some folder

    保存好后,就是这样的了:

    has saved py file

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

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

    而对于,什么是windows的cmd,如何打开cmd,如何切换到对应的路径等内容,不熟悉的话,可以去参考:

    Windows的命令行工具: cmd

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

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

    run open current dir cmd

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

    open cmd and in current dir

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

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

    此处是:

    demoRunPythonUnderWindows.py

    小提示:

    正常的是通过手动输入对应的Python的完整的文件名,即,对于此处的demoRunPythonUnderWindows.py,一个个字母的输入

    不过,此处有个小技巧,可以利用Windows(和Linux中通用的)Tab键,然后会自动显示出你当前目录的文件;

    如果当前文件夹有多个文件,多次按Tab键,会在多个文件之间切换。此处就一个文件,所以通过按Tab键,就可以一下子就显示出对应的整个文件名了:

    tab show full name

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

    enter to print info

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

    而接下来,作为正常的开发Python的流程,就是,你继续去修改你的Python代码,添加新的代码,然后保存python文件,

    再回到cmd中,重新再次运行Python,以验证程序运行是否正常,是否获得了你所期望的结果。

    如此反复,一点点,由少到多,一点点写出足够复杂的Python代码,实现你的复杂的功能。

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

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

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

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

    Python (command line) 和IDLE (Python GUI)

    下面分别介绍一下。

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

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

    python command line

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

    search python can show shell

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

    opened python shell command line

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

    然后就是三个大于号>>>接下来,你就可以,像在之前所说的,普通文本中输入python代码一样,在此一行行输入代码,然后就可以显示对应的信息了:

    directly show print info

    其中可以看到,当你输入对应的,第一行print时,此处命令行(command line)版本的Python Shell中,就可以,动态的,交互式地,显示出对应的信息了。

    正由于,此处可以,直接地,动态的,交互性式地,显示出对应的信息,所以,才被叫做Python 的交互式的Shell,简称Python Shell。

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

    show all print info

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

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

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

    search pyth can found IDLE

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

    打开后就是这样的:

    tk python shell

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

    这个就是,很多Python教程中,所常用来作为Python的开发环境,教别人写Python代码的那个IDLE。

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

    IDLE show print info

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

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

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

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

    所以,结论就是:

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

    举例:

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

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

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

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

    【整理】什么是IDE

    即:

    IDE

    =集成开发环境

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

    而Python的IDE,就是:

    Python IDE

    =Python的集成开发环境

    = 把和Python开发相关的各种工具,即Python代码编辑器 + Python的运行环境:windows的cmd+有菜单和快捷键直接帮你实现运行对应的Python代码

    当然,除此之前,Python的IDE,还会有更多的方便好用的功能,比如调试功能等。

    为何会有Python的IDE

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

    就是因为,如果开发Python过程中,写Python代码,调试Python代码,查找相关的函数的解释等等操作,

    如果都是基于前面介绍的,用Notepad++等编辑器去编辑Python代码,写完代码了,再切换到windows的cmd中去运行,

    往往觉得很麻烦。

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

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

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

    所以,才会有:

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

    目前常见的一些Python的IDE

    参考别人的一些讨论和总结:

    【python】【求助】关于python编辑器的选择

    python编辑器对比和推荐

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

    Ulipad

    PyScripter

    Wing IDE

    Eclipse + pydev插件

     

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

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

     

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

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

    比如,【记录】使用Python的IDE:PyScripter,通过截图来对比性的解释,你就更容易理解,Python的原始开发环境和Python的IDE之间的关系了:

    edit to npp and output to cmd

    python interpreter to python shell

    这下,至少你应该对于:

    Windows的cmd;

    Python的Shell:

    • command line版本;

    • GUI版本:IDLE

    Python的IDE;

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

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

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

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

    in IDE write python code but open python shell

    如图,其在当前的IDE中,打开了一个.py文件(balanced_color_module.py),按照正常的逻辑,应该到菜单中,运行代码,然后再去对应的console中(此处估计是Debug I/O),去查看运行的结果。

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

    另外,其此处没有打开对应的console(此处估计是Debug I/O),而是打开的是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没有半毛钱关系,所以才会运行代码出错,找不到对应的函数的。

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

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

    ulipad run python no response

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

    错误原因是:

    没有起始代码可以运行;

    解决办法是:

    把上面最后一行的

       start();

    定格写,变成:

    start();

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

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

    start();

    再改为:

    if __name__ == "__main__":

       start();

    具体的解释,参见:

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

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

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

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

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

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

    在没有学会走路,即如何搞懂Windows的cmd下运行Python脚本,

    就想学会跑了,即直接利用Python的IDE,包括shell和第三方开发环境,

    结果就是,很多东西,还是不明白到底是为什么,理解的不透彻。

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

    即:

    先:Windows的cmd+Notepad++;

    再:选用某个IDE,比如PyScripter,Ulipad等。

  • 相关阅读:
    稳扎稳打Silverlight(13) 2.0交互之鼠标事件和键盘事件
    稳扎稳打Silverlight(17) 2.0数据之详解DataGrid, 绑定数据到ListBox
    再接再厉VS 2008 sp1 + .NET 3.5 sp1(2) Entity Framework(实体框架)之详解 Linq To Entities 之一
    稳扎稳打Silverlight(8) 2.0图形之基类System.Windows.Shapes.Shape
    稳扎稳打Silverlight(11) 2.0动画之ColorAnimation, DoubleAnimation, PointAnimation, 内插关键帧动画
    稳扎稳打Silverlight(21) 2.0通信之WebRequest和WebResponse, 对指定的URI发出请求以及接收响应
    稳扎稳打Silverlight(16) 2.0数据之独立存储(Isolated Storage)
    稳扎稳打Silverlight(9) 2.0画笔之SolidColorBrush, ImageBrush, VideoBrush, LinearGradientBrush, RadialGradientBrush
    稳扎稳打Silverlight(23) 2.0通信之调用WCF的双向通信(Duplex Service)
    游戏人生Silverlight(1) 七彩俄罗斯方块[Silverlight 2.0(c#)]
  • 原文地址:https://www.cnblogs.com/lvxiuquan/p/3169621.html
Copyright © 2011-2022 走看看