最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【整理】【多图详解】如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE

Python crifan 37292浏览 0评论

注意:

1.此贴已搬家至: 如何在Windows环境下开发Python

2.如有内容更新,也只会更新到上述新址,而不再同步更新此贴。

 


本文目的

希望对于,如何在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版本信息和系统信息:

#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Function:
【整理】如何在Windows下开发Python(如何运行Python脚本)
https://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;

来说明,如何在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_Root\python\how_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等。

转载请注明:在路上 » 【整理】【多图详解】如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (27)

  1. 在python shell里,输入else语句以后回车就会直接提示else语句没有内容,但是想输else的语句内容一回车就没法输入,提示错误了。
    ll7年前 (2017-04-19)回复
  2. 请问为什么我用cmd运行Python脚本的时候,就是3.1.3的过程中,我敲最后一步回车键的时候,就会自动跳转到用notepad++打开代码,我的D:\python\how_to_dev_python中的demoRunPythonUnderWindows.py文件默认打开方式为notepad++。
    王窝瓜7年前 (2017-02-15)回复
  3. 非常感谢,把三者的关系说的很清楚,建议也十分中肯,感谢感谢
    藏家哼7年前 (2016-11-15)回复
  4. 貌似要补充一点,Python shell的位置是在\Python27\Lib\idlelib\idle.pyw,像我的电脑就没有快捷方式要自己找。
    落葉夢塵8年前 (2016-10-04)回复
  5. 用cmd运行python是提示Bad magic number in.pyc file 怎么破
    daring ssss9年前 (2015-02-01)回复
  6. 谢谢,网上很少有说得这么清楚的。先打好基础,学习你的坚持和细致!
    Jacky9年前 (2015-01-12)回复
  7. 謝謝 受益良多 python 就是 美!
    incredible10年前 (2014-08-14)回复
  8. 为什么在Notepad++的Open current dir cmd中输入了demoRunPythonUnderWindows.py显示的却是 File "C:\Program Files\Notepad++\demoRunPythonUnderWindows.py", line 18 print "Just for demo how to do python development under windows:"; ^ SyntaxError: invalid syntax
    吕京珂10年前 (2014-06-25)回复
    • 截图我看看。不应该啊。你用的是Python 3.x的版本???
      crifan10年前 (2014-07-28)回复
  9. 豁然開朗的感覺,說的很清楚,打好基礎,快樂學python
    新新小白10年前 (2014-02-21)回复
  10. 受益匪浅,谢谢~~为什么我按照你的步骤,采用Notepad++运行时,没有出现运行结果,反而是弹出一个该程序的文本框?谢谢~~
    yayaya_9883711年前 (2013-10-11)回复
    • 你的问题描述的不清楚,没法帮你。谢谢。
      crifan11年前 (2013-10-16)回复
      • 上面的问题我也碰到了。用Notepad++编写python文件后,在cmd窗口中输入该pthon文件后,如hello.py并没有显示结果,而是直接打开该hello.py文件。不清楚为什么。
        yakas10年前 (2014-05-07)回复
        • 估计是python没有正确安装。 去重新安装Python,估计就可以了 ->在cmd中打开.py文件,就会自动调用python解析器去解析执行 ->而不是调用文本编辑器去打开了。
          crifan10年前 (2014-05-07)回复
          • 问题已经解决了。首先python安装正确,不存在安装问题,在这谢谢crifan的回答。在cmd窗口中运行py文件时,如hello.py,首先需要输入python,然后后面输入hello.py,即可正常运行。这句话的意思告诉计算机该hello.py文件需要用python软件执行。(不知道理解的是否正确)
            yakas10年前 (2014-05-12)回复
            • 是的,是需要先输入python 的
              zibba10年前 (2014-06-12)回复
            • 我也遇到这个问题了,但是你说的首先输入python是在哪里输入?我是新手,谢谢解答。 另外,我在Notepad++里没有找到Open Current dir cmd是怎么回事? 我的notepad++ 是6.6.9版本
              Demo10年前 (2014-10-24)回复
              • 我也碰到同样的情况。
                zyravery8年前 (2015-11-28)回复
  11. 当一个比较复杂的代码中包含多个python模块时,怎样通过notpasd++编辑并在cmd.exe环境下执行呢?
    石头11年前 (2013-10-09)回复
    • 很明显,只能用比较土的办法: 用notepad++打开对应的(多个python)文件 然后运行你所需要运行的文件,即可。 比如我之前自己开发的: BlogsToWordpress 就是这么一点点开发的: 修改对应的需要修改的文件 然后运行主文件:BlogsToWordpress.py,一点点去测试,如此而已。
      crifan11年前 (2013-10-09)回复
  12. 刚开始学习python看到这个真是受益匪浅!a million thanks =)
    yvette11年前 (2013-07-16)回复
  13. 对新手帮助很大,谢谢!
    Desmond11年前 (2013-06-22)回复
  14. 看起来不错的样子
    babyfacewu198111年前 (2012-12-24)回复
98 queries in 0.199 seconds, using 22.38MB memory