天天看點

Notepad++配置Python開發環境

1. 安裝Python

1 下載下傳

我選擇了32位的2.7版本。https://www.python.org/ftp/python/2.7.8/python-2.7.8.msi

2. 安裝

安裝的時候可以修改安裝路徑到D盤,然後注意一點是可以将最後一項“配置環境變量”勾選上(預設是不選擇的),這樣就不用手動配置環境變量了。

2. 配置Notepad++

可以參考文章【1】的方法進行配置,但是注意輸入的指令是參考文章【2】的。

1. Notepad++ ->"運作"菜單->"運作"按鈕

2. 在彈出的視窗内輸入以下指令:

cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT      

然後點選“儲存”,随意取一個名字,比如“RunPython”,為友善,配置一下快捷鍵(比如 Ctrl + F5),點OK即可。之後運作Python檔案隻要按配置的快捷鍵或者在運作菜單上點“RunPython”即可。

Notepad++配置Python開發環境

注意不要跟已有的快捷鍵沖突。檢視已有的快捷鍵,可以點選"運作"菜單->"管理快捷鍵"按鈕 檢視

Notepad++配置Python開發環境

3. 指令解釋【1】

cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT      

cmd /k python: 表示打開Cmd視窗,運作/k後邊的指令,并且執行完畢後保留視窗。此處即python(因為在環境變量裡已經添加了Python目錄,是以這裡不用指定Python程式的目錄,就可直接找到)

$(FULL_CURRENT_PATH) :Notepad++的宏定義,表示目前檔案的完整路徑。

& 用來連接配接多條指令

ECHO:換行

PAUSE: 表示運作結束後暫停(cmd中顯示“請按任意鍵繼續. . .”),等待一個按鍵繼續

EXIT: 表示“按任意鍵繼續. . .”後,關閉指令行視窗。

4. Notepad++宏定義的含義

可以參考Notepad++自帶的幫助文檔。

點選“?”菜單->“幫助”按鈕(或者Shift+F1快捷鍵)->在打開的頁面中點選右面的“Commands”,可以檢視到各個宏定義的含義

FULL_CURRENT_PATH
  the fully qualified path to the current document.
CURRENT_DIRECTORY
  The directory the current document resides in.
FILE_NAME
  The filename of the document, without the directory.
NAME_PART
  The filename without the extension.
EXT_PART
  The extension of the current document.
NPP_DIRECTORY
  The directory that contains the notepad++.exe executable that is currently running.
CURRENT_WORD
  The currently selected text in the document.
CURRENT_LINE
  The current line number that is selected in the document (0 based index, the first line is 0).
CURRENT_COLUMN
  The current column the cursor resides in (0 based index, the first position on the line is 0).      

5 測試

建立一個測試檔案,儲存為DemoRun.py。

import platform;
   
print "Just for demo how to do python development under windows:";
print "Current python version info is %s"%(platform.python_version());
print "uname=",platform.uname();      

Ctrl + F5執行,看是否能輸出結果。

3. 問題

1. 當Python腳本需要建立檔案或目錄時,執行腳本,發現在腳本所在的目錄下沒有生成的檔案或目錄,查找一下的話,發現生成的檔案在Notepad++的安裝目錄下。比如下面的腳本,想在腳本所在的目錄下,建立一個子目錄“testdir”

# create directory
import os
CurPath = os.path.abspath('.')
print CurPath
JoinPath = os.path.join( CurPath, 'testdir')
print JoinPath
os.mkdir( JoinPath )      

發現在腳本所在的目錄下沒有,而在“D:\Program Files (x86)\Notepad++”下卻生成了一個“testdir”檔案夾。

2. 原因何在呢?文章【2】做了一個小測試,使用下面的代碼列印目前工作目錄:

import os
print os.getcwd()      

顯示的是Notepad++的安裝目錄,是以确定是工作目錄的問題。改進後的指令行是:

cmd /k cd "(CURRENT_DIRECTORY)" &  python "(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT      

該指令行的含義是:首先cd 到該要執行的Python腳本所在的目錄(CURRENT_DIRECTORY),在該目錄下,執行 python程式,這樣工作目錄就由預設的Notepad++的安裝目錄,改為了該要執行的Python腳本所在的目錄。

3. 修改指令行

想要将原來的指令行修改為改進後的指令行,發現Notepad++并沒有提供修改的功能

cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT      

 ->

cmd /k cd "(CURRENT_DIRECTORY)" &  python "(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT      

想要修改,有2種辦法

(1)點選"運作"菜單->"管理快捷鍵"按鈕後,删除原來的快捷鍵,然後重建立一遍。

(2)修改shortcuts.xml。注意shortcuts.xml的路徑有可能為“C:\Users\XXX\AppData\Roaming\Notepad++”下的shortcuts.xml,而并不是“D:\Program Files (x86)\Notepad++”下的shortcuts.xml

4. 但是這樣還有一個問題,就是如果Python腳本所在的目錄和Notepad++的安裝目錄不再一個分區,那麼改進後的指令行失效。比如,Notepad++安裝在D盤,要執行的腳本在E盤,那麼運作下面的測試腳本:

import os
print os.getcwd()      

列印目前工作目錄仍舊是“D:\Program Files (x86)\Notepad++”。

這個問題沒有解決。

Reference:

【1】如何在Notepad++中配置Python開發環境(http://glorywu.com/如何在Notepad++中配置Python開發環境/)

【2】Notepad++搭建Python開發環境的一個小改進(http://www.cnblogs.com/tt-0411/archive/2011/10/30/2229544.html)