http://www.crifan.com/how_to_do_python_development_under_windows_environment/html
但願對於,如何在Windows下,寫Python代碼,進行Python開發,運行Python腳本的人,看了此文後,懂得了:python
什麼是cmd下面去運行Python腳本;shell
什麼是Python的交互式的shell;windows
什麼是Python的IDE。eclipse
看此文以前,須要知道:編輯器
包括知道其代碼就是普通文本等基礎知識ide
不瞭解的,能夠先去看:函數
以瞭解關於計算機語言的宏觀介紹;學習
再去看:
【整理】Python語言簡介
就明白了。
【TODO:寫教程解釋如何安裝Python】
另外提示一下,關於版本的選擇:
【整理】總結Python2(Python 2.x版本)和Python3(Python 3.x版本)之間的區別
下面,經過最簡單的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代碼,自己就只是文本;
因此,從原理上來講,只須要找個合適的文本編輯器,便可;
換句話說,若是隻是簡單的寫寫幾行Python代碼,你用Windows的記事本(Notepad),都是能夠的;
只不過,因爲Notepad功能太弱,因此在此我的推薦Notepad++。
關於Notepad++的內容,你想要的,幾乎全部的內容,均可以在這裏找到解釋:
【crifan推薦】輕量級文本編輯器,Notepad最佳替代品:Notepad++
此處呢,對應的就是:
用我所推薦的Notepad++,新建一個文件,而後包括代碼進入,存爲對應的一個.py的文件。
而關於如何操做,此處也一點點截圖,透徹的說明一下:
此處再次提示一下,一下Notepad++的全部功能,特性,用法,上面那個帖子中,都有專門的介紹。
想要更加詳細瞭解的相關的Notepad++的某個特定功能的用法的,本身去看便可。
下面的截圖,就再也不事無鉅細的解釋Notepad++的功能特色了。只是截圖解釋如何操做而已。
打開Notepad++後,點擊新建,新建出一個新的文件:
而後把上面給大家的代碼,拷貝進去,就變成了:
此處因爲是新建的空白文件,因此Notepad++,不知道你是Python代碼,無法幫你自動實現語法高亮,
須要手動去設置一下:
語言->P->Python:
就能夠看到Python代碼的語法高亮的效果了:
而後去保存到某個位置。
文件->另存爲:
在彈出的對話框中,輸入要保存的文件名:demoRunPythonUnderWindows
提示:其中能夠看到Notepad++自動幫你寫好了.py後綴,那是由於你以前設置了Python語法高亮。
而後再選擇對應的路徑去保存:
提示:
我此處的路徑是:
E:\Dev_Root\python\how_to_dev_python\
你本身隨便,只是要注意,路徑中,不帶中文的。以免各類中文路徑不識別等問題。
保存好後,就是這樣的了:
而對於,什麼是windows的cmd,如何打開cmd,如何切換到對應的路徑等內容,不熟悉的話,能夠去參考:
此處,使用一個更方便的辦法,利用Notepad++中功能,直接打開cmd,並切換到對應路徑:
而後就直接實現,打開了cmd,而且切換到對應的當前文件所在路徑了:
而後就是,在cmd中,輸入你的Python腳本,即.py文件的完整的文件名。
此處是:
demoRunPythonUnderWindows.py
小提示:
正常的是經過手動輸入對應的Python的完整的文件名,即,對於此處的demoRunPythonUnderWindows.py,一個個字母的輸入
不過,此處有個小技巧,能夠利用Windows(和Linux中通用的)Tab鍵,而後會自動顯示出你當前目錄的文件;
若是當前文件夾有多個文件,屢次按Tab鍵,會在多個文件之間切換。此處就一個文件,因此經過按Tab鍵,就能夠一會兒就顯示出對應的整個文件名了:
而後輸入回車,便可運行對應的Python腳本,接着在cmd中也就能夠看到輸出的結果了:
如此,就是一個,完整的,在windows的cmd中,運行Python腳本的流程了。
而接下來,做爲正常的開發Python的流程,就是,你繼續去修改你的Python代碼,添加新的代碼,而後保存python文件,
再回到cmd中,從新再次運行Python,以驗證程序運行是否正常,是否得到了你所指望的結果。
如此反覆,一點點,由少到多,一點點寫出足夠複雜的Python代碼,實現你的複雜的功能。
Python有個shell,提供一個Python運行環境。方便你交互式開發。
即寫一行代碼,就能夠馬上被運行,而後方便查看到結果。
而Python的Shell,在Windows環境下,又分兩種:
Python (command line) 和IDLE (Python GUI)
下面分別介紹一下。
Windows下,安裝好Python後,你能夠在開始菜單中,找到對應的command line版本的Python Shell的:
其實,Win7中,有個更方便的方式,直接在搜索框中搜python,便可找到:
打開後,就是這個樣子的:
其中能夠顯示出來對應的python版本信息和系統信息。
而後就是三個大於號>>>接下來,你就能夠,像在以前所說的,普通文本中輸入python代碼同樣,在此一行行輸入代碼,而後就能夠顯示對應的信息了:
其中能夠看到,當你輸入對應的,第一行print時,此處命令行(command line)版本的Python Shell中,就能夠,動態的,交互式地,顯示出對應的信息了。
正因爲,此處能夠,直接地,動態的,交互性式地,顯示出對應的信息,因此,才被叫作Python 的交互式的Shell,簡稱Python Shell。
對應的,把前面的代碼都輸入完畢,結果顯示爲:
下面將要介紹的,一樣是Python的Shell,可是是相對於command line版本而言,是GUI,帶圖形界面的版本的。
對應的打開方式,和上面相似,能夠直接搜python而找到:
對應的,能夠看到,其名字寫的是IDLE。
打開後就是這樣的:
左上角的紅色圖標,好像是TK,是圖形界面庫的一種。
這個就是,不少Python教程中,所經常使用來做爲Python的開發環境,教別人寫Python代碼的那個IDLE。
對應的,輸入上述的代碼,結果也是相似的:
而做爲通常的Python開發的話,則不多有用這個Python Shell的,不管是command line的仍是GUI版本的IDLE。
其比較適合用來測試,演示一些簡單的代碼的執行的效果。
好處是很方便,能夠馬上看到代碼執行的結果。
因此,結論就是:
對於python的shell,不管是command line版仍是GUI版,都比較適合偶爾要測試少許的Python代碼的狀況下去使用,而不適合長期的開發Python。
舉例:
好比我以前就是借用Python的一些庫函數,實現一些對於url解碼的功能:
【已解決】在用google搜索出來的連接沒法打開的狀況下,如何找到該連接的真實地址
關於IDE的基本概念,不瞭解的先去看:
即:
IDE
=集成開發環境
=把開發相關的各類環境(和工具)都集成到一塊兒
而Python的IDE,就是:
Python IDE
=Python的集成開發環境
= 把和Python開發相關的各類工具,即Python代碼編輯器 + Python的運行環境:windows的cmd+有菜單和快捷鍵直接幫你實現運行對應的Python代碼
固然,除此以前,Python的IDE,還會有更多的方便好用的功能,好比調試功能等。
而之因此會有Python的IDE的誕生,也很容易理解。
就是由於,若是開發Python過程當中,寫Python代碼,調試Python代碼,查找相關的函數的解釋等等操做,
若是都是基於前面介紹的,用Notepad++等編輯器去編輯Python代碼,寫完代碼了,再切換到windows的cmd中去運行,
每每以爲很麻煩。
尤爲是大型項目的話,可能就更加顯得不那麼高效;
以及對應的須要一些額外的功能,好比調試複雜的Python代碼,須要一點點跟蹤調試,找到錯誤的根本緣由等等。
上述的開發模式,就更顯得力不從心。
因此,纔會有:
Python發展到如今,已經有了不少第三方的,別人開發的,能夠用於或者專門用於Python開發的一些集成開發環境,即Python的IDE。
參考別人的一些討論和總結:
羅列幾個,相對用的比較普遍的(排名不分前後):
Ulipad
PyScripter
Wing IDE
Eclipse + pydev插件
關於其中的一些IDE的效果,能夠參考:
【整理】各類Python的IDE(集成開發環境)的總結和對比
下面,隨便找了一個Python的IDE,
好比,【記錄】使用Python的IDE:PyScripter,經過截圖來對比性的解釋,你就更容易理解,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(此處估計是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沒有半毛錢關係,因此纔會運行代碼出錯,找不到對應的函數的。
好比這裏遇到的問題是,經過IDE中運行Python代碼,可是沒有響應:
錯誤緣由是:
沒有起始代碼能夠運行;
解決辦法是:
把上面最後一行的
start();
定格寫,變成:
start();
就能夠了。使得Python能夠執行到對應的start函數了。
固然,最好的寫法是,把:
start();
再改成:
if __name__ == "__main__":
start();
具體的解釋,參見:
【整理】Python中的__name__和__main__含義詳解
一句話:各取所需。根據本身的需求,決定用什麼開發環境。
再加一句:針對初學者,我我的卻是建議使用第一種,即windows的cmd下,去運行python腳本;
目的很明確,不少東西的學習,其本質上,都是須要一個按部就班的過程的,學習Python語言一樣如此。
在沒有學會走路,即如何搞懂Windows的cmd下運行Python腳本,
就想學會跑了,即直接利用Python的IDE,包括shell和第三方開發環境,
結果就是,不少東西,仍是不明白究竟是爲何,理解的不透徹。
而當Python的基本知識,基本開發流程熟悉了以後,再建議你去使用第三方的Python的IDE,到時候,才能算是用着很爽。
即:
先:Windows的cmd+Notepad++;
再:選用某個IDE,好比PyScripter,Ulipad等。