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

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

本文目的

希望對於,如何在Windows下,寫Python程式碼,進行Python開發,執行Python指令碼的人,看了此文後,懂得了:

什麼是cmd下面去執行Python指令碼;

什麼是Python的互動式的shell;

什麼是Python的IDE。

前提知識

看此文之前,需要知道:

Python語言的基本知識

包括知道其程式碼就是普通文字等基礎知識

不瞭解的,可以先去看:

以瞭解關於計算機語言的巨集觀介紹;

再去看:

已經在Windows中安裝好了Python

【TODO:寫教程解釋如何安裝Python】

另外提示一下,關於版本的選擇:

如何在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++的內容,你想要的,幾乎所有的內容,都可以在這裡找到解釋:

此處呢,對應的就是:

用我所推薦的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,如何切換到對應的路徑等內容,不熟悉的話,可以去參考:

方法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解碼的功能:

利用第三方Python的IDE進行Python開發又是怎麼回事

關於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

參考別人的一些討論和總結:

羅列幾個,相對用的比較廣泛的(排名不分先後):

Ulipad

PyScripter

Wing IDE

Eclipse + pydev外掛

關於其中的一些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

一句話:各取所需。根據自己的需求,決定用什麼開發環境。

對初學者的建議:如何選用Python的開發環境

再加一句:針對初學者,我個人倒是建議使用第一種,即windows的cmd下,去執行python指令碼;

目的很明確,很多東西的學習,其本質上,都是需要一個循序漸進的過程的,學習Python語言同樣如此。

在沒有學會走路,即如何搞懂Windows的cmd下執行Python指令碼,

就想學會跑了,即直接利用Python的IDE,包括shell和第三方開發環境,

結果就是,很多東西,還是不明白到底是為什麼,理解的不透徹。

而當Python的基本知識,基本開發流程熟悉了之後,再建議你去使用第三方的Python的IDE,到時候,才能算是用著很爽。

即:

先:Windows的cmd+Notepad++;

再:選用某個IDE,比如PyScripter,Ulipad等。

相關推薦

如何在Windows開發Pythoncmd執行Python指令碼+如何使用Python Shellcommand line模式GUI模式+如何使用Python IDE

本文目的 希望對於,如何在Windows下,寫Python程式碼,進行Python開發,執行Python指令碼的人,看了此文後,懂得了: 什麼是cmd下面去執行Python指令碼; 什麼是Python的互動式的shell; 什麼是Python的IDE。 前提知識 看此文之前

C#程序調用cmd.exe執行其他exe進程並且含多個參數,並把進程結果返回給字符串

() stat syntax || 錯誤 void dia clas ring 1.關鍵代碼部分。 using System.Diagnostics; public class CmdHelper {

Java小遊戲DanceWithStars修改本地文件中的圖片圖片寬高圖片型別以及將圖片設定為JButton的影象

1. 修改本地文件中的圖片(圖片寬高和圖片型別) 為了使下載的圖片素材都具有統一的width和height,需要對下載來的圖片重新處理並另存 主要思想是:構造一個BufferedImage物件,用ImageIO.read()讀入,再用ImageIO.write()重畫 程式碼如下: 1 pac

javac錯誤cmdjava命令可以用 javac不是內部或外部命令 也不是可執行的程式 解決方法已解決

在Oracle官網下載JDK安裝; jdk安裝路徑:C:\Java\jdk1.8.0_191;(jre路徑為C:\Java\jre8) 下面設定環境變數(重點): 開啟我的電腦,屬性,系統,高階系統設定,找到環境變數,在系統變數裡新建: JAVA_HOME  &n

PythonWin7Git Bash中呼叫python指令碼

Git Bash中呼叫python指令碼需要使用:winpty python hello.py。每次呼叫的時候都這麼寫,太麻煩了。使用alias python='winpty python' 將'winpty python'重新命名為'python',這樣每次呼叫的時候直接輸

Python字串劃線風格轉駝峰風格

#!/usr/bin/env python # coding:UTF-8 """ @version: python3.x @author:曹新健 @contact: [email protected] @software: PyCharm @file: 下劃線風格轉駝峰風格.py @t

pythonlinux字串轉換為JSON

JSON是一種輕量級的資料交換格式,易於人類閱讀和編寫,同時也易於機器解析和生成。由於JSON的諸多優點,已經廣泛使用在各個系統中,因此,我們經常會有將JSON字串轉換為JSON物件的需求。 例如,在筆者的工作過程中,我們的系統會呼叫底層服務的API,底層服務的API一般都是以JSON的格式返回,為

android開發遊記SpringView 拉重新整理的高效解決方案,定製你自己風格的拖拽頁面

關於下拉重新整理/上拉載入更多的解決方案網上已經有很多了,瀏覽了目前主流的下拉控制元件比如PullToRefresh庫等,第一:大多數實現庫都難以進行動畫和樣式的自定義。第二:不能很好的相容多種滾動控制元件,它們都對listView、RecyclerView等進

Linux應用程式開發筆記測試程式碼執行時間

  #include <stdio.h> #include <sys/times.h> #include <unistd.h> void main(void) { double duration; clock_t start,

Python父子程序執行的先後順序多工處理2

#!/usr/bin/env python # coding:UTF-8 """ @version: python3.x @author:曹新健 @contact: [email protected] @software: PyCharm @file: 3.父子

Linux使用SSH非互動式遠端執行命令指令碼

原創文章,轉載請註明— 作者: 黃文海 出處: http://viscent.iteye.com/http://blog.viscenthuang.info     非互動式在遠端主機上執行命令或者指令碼可以幫助我們快速完成一些任務。比如,在叢集環境中,同時在各個結點上的日

Java web 環境搭建 環境依賴 作業系統 Windows 7 開發工具 IntelliJ IDEA 開發工具依賴環境

Java web 環境搭建 環境依賴 作業系統 :Windows 7 64位 開發工具 :IntelliJ IDEA 13.1.4 開發工具依賴環境 JDK版本:1.7+ 開發工具依賴外掛 包管理:Maven 3.2.3 Web 服務:Tomcat 8.0.2

apache環境禁止某資料夾內執行PHP指令碼、禁止訪問檔案或目錄執行許可權的設定方法

首先我們來看兩段對上傳目錄設定無許可權的列子,配置如下: <Directory"要去掉PHP執行許可權的目錄路徑,如/upload"> ErrorDocument 404 /404/404.html ErrorDocument 403 /404/403.htm

Pythonpyinstaller 打包執行報錯 failed to execute script ***

車禍現場 打包命令:(在Windows的CMD命令視窗輸入) pyinstaller -F -w C:\Users\JulianYang\Desktop\testJ\milestone\cam

Windows phone開發入門技術資料索引庫

            2010年10月11日晚上9點30分,微軟公司正式釋出了智慧手機作業系統Windows Phone,同時將谷歌的Android和蘋果的IOS列為主要競爭對手。Windows Phone是微軟釋出的一款手機作業系統,它將微軟旗下的Xbox Live

Mac如何建立雙擊可執行指令碼

第一步: 新建一個空的command檔案,比如 build.command 第二步: 檔案的第一行寫 #!/bin/bash 第三步:下面正常寫平常在終端內寫的程式碼,比如 cd som

[教程] 4月22更新WIN懶人版安裝教程U盤版硬碟版

原文出處:http://bbs.pcbeta.com/viewthread-920341-1-1.html 謝謝博主大神,基本上看得懂, 不懂的就google一下, 我6個小時下載軟體到安裝完成。 2012.4.22更新: =====================

Linux新手怎樣將VIM配置成C++編程環境能夠STL自己主動補全

mes 標簽 ctrl+c 配色方案 lang 環境 rip vimr str ~ 弄拉老半天,最終弄的幾乎相同啦,果然程序猿還是須要有點折騰精神啊。 首先你要安裝vim,命令:sudo apt-get install vim vim它僅僅是一個編

cmd執行jar文件命令待參數

pre 命令 align -- 文件 pro -a pan products cmd中執行jar文件命令(待參數) 1,jar文件路徑:F:\products 2,cmd命令: --兩個日期參數(空格隔開) java -jar F:\products\analysis.j

ASP.NET Aries 高級開發教程Excel導入之代碼編寫番外篇

chan 導入 設置 jna 配置 決定 ptc UNC 番外篇 前言: 以許框架提供的導入配置功能,已經能解決95%以上的導入情況,但有些情況總歸還是得代碼來解決。 本篇介紹與導入相關的代碼。 1、前端追加導入時Post的參數: var grid = new