如何在Windows下開發Python:在cmd下執行Python指令碼+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE

Linux菜_鳥發表於2013-08-04

本文目的

希望對於,如何在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
"""
   
importplatform;
   
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等。

相關文章