PyS60開發環境搭建

關於Python 和 PyS60 的介紹請到這裏看:
http://www.cnitlaw.cn/xuexibiji/PyS60-xuexi/Python-yu-PyS60/

本文將爲您介紹如何在Windows系統下搭建PyS60開發環境,讓你爲你的愛機寫下第一個程序做準備。
 
第一步,我們需要爲電腦安裝“諾基亞S60模擬程序”——爲什麼要安裝?我們要做的是爲自己的S60系統的手機編寫程序,也就是說所寫的程序將只能在手機上運行,而電腦是不能運行PyS60程序的,所以我們要先給自己的電腦安裝一個模擬程序,把電腦模擬成S60系統,這樣我們所寫的PyS60程序就可以在電腦上運行調試了。
我們要先下載安裝三個程序:
(1)、ActivePerl   下載地址:http://www.onlinedown.net/soft/8364.htm 
下載後按照提示進行安裝(最好安裝在C盤)
 
(2)、S60SDK (開發工具包) 下載地址:地址很長,點我進入       
在諾基亞官方下載比較麻煩的就是要註冊,不過是免費的,只要費一點功夫罷了。
記得選擇你所有開發的手機的系統版本,裏面有 S60第三版和第二版的SDK,記得要選擇適合自己手機的(圖一)。
還是按着提示進行安裝,安裝在C盤吧。

(3)、Sun Java Runtime Environment 
下載地址:
http://www.skycn.com/soft/27213.html
安裝Java運行時環境主要是爲了使S60SDK顯示出來的模擬手機界面是中文的。
 
現在我們看看我們安裝好的S60模擬機:打開 "開始"-"程序"-"S60 Developer Tools"-"3rd Edition FP1 SDK"-"Emulater"  (圖二):
 圖一:下載S60SDK,選擇適合的版本  圖二:S60模擬器
 
 
第二步,在我們的S60模擬手機裏安裝Python
(1)、先下載 Python SDK 下載地址:
  http://sourceforge.net/project/showfiles.php?group_id=154155 
點擊 Download 進入下載頁面。該網頁有提供多個下載文件,在這裏要按你剛纔下載S60SDK時選擇的版本選擇對應的PyS60版本。有第二版跟第三版之分。如下圖:
    圖三:選擇合適的PyS60 SDK
 
(2)、將下載的壓縮文件解壓,解壓後能得到兩個文件,一個是:sdk_files.zip  ,另一個是uninstall_PythonForS60_SDK_***.cmd ,這個文件是用來刪除已安裝的PythonForS60_SDK的,這裏我們並不需要管他。將sdk_files.zip  解壓,等到一個名字爲 epoc32的文件夾,複製整個文件夾到諾基亞S60SDK安裝的根目錄下,例如我安裝的是第三版F1,並且是安裝在C盤,我就將epoc32文件夾複製到C:/Symbian/9.2/S60_3rd_FP1/ 目錄下,電腦會提示該文件已存在,覆蓋就好了。

 

 (3)、現在再次打開S60 SDK的 Emulator  ,模擬器開機後進入菜單,在“安裝”目錄下可以發現Python了吧,打開Python,並在菜單項裏選擇 Run Script ,選擇ball.py ,感受一下再電腦的S60模擬機上運行PyS60程序的感覺。
    圖四:運行ball.py
 
(4)、如何把我們寫的PyS60的程序放到虛擬機裏去運行呢?如果你在諾基亞S60SDK的安裝文件夾裏搜索ball.py ,你就會發現在諾基亞S60SDK的安裝文件夾裏可以找到/Epoc32/winscw/c/python/ 這個路徑,以我的電腦爲例就是:C:/Symbian/9.2/S60_3rd_FP1/Epoc32/winscw/c/python
把你寫的文件放到這個文件夾裏就可以在虛擬機裏通過Python運行了。其實Epoc32/winscw/c/中最後的c是指虛擬機的c盤。
 
第三步,安裝Python電腦端的開發工具
(1)、上面我們已經將諾基亞S60的虛擬機安裝好了,也爲該虛擬機安裝好了Python,但是我們如何給我們的手機寫PyS60程序呢。如果是高手的話肯定會推薦你用記事本——呵呵,開玩笑的!我們都是菜鳥,所以我們不用記事本。這裏向大家推薦Python官方提供的編輯器:IDLE.
下載Python  for windows 先,下載地址:www.python.org 
不推薦大家下載最新的2.6或3.0版,原因是PyS60的項目開發人員們對2.5版情有獨鍾。在後面我們將會提到的一個將Py文件轉換爲sis安裝文件時需要用到的是Python2.5,所以在這裏我們直接下載2.5版本的就好了。
 
(2)、安裝好Python2.5後就可以通過 "開始"--"Python 2.5"--"IDLE (Python GUI)" 來打開IDLE,選擇 File - new window ,在彈出的新窗口裏面編寫Python代碼。IDLE支持自動縮進,語法變色等功能,但是我們在這裏千萬不要按F5哦,因爲我們寫的是PyS60程序,是要給手機運行的,所以不能直接讓電腦運行,而要將文件保存到S60虛擬機的/Epoc32/winscw/c/python/ 目錄下,通過S60虛擬機來運行。
    圖五:Python Shell     圖六:新建的窗口
 
(3)、一件必須強調的事!!!
當我們爲自己的手機寫PyS60程序時會發現有時經常會出現一些奇怪的錯誤,儘管按着書本上教把每一個代碼都寫對了,但是保存到/Epoc32/winscw/c/python/ 目錄下通過S60虛擬機去運行時還是總會出現錯誤。有一個可能的原因是我們所保存的文件的編碼不符合要求,在這裏我們保存文檔的編碼時不僅要保存爲utf-8格式,而且必須是 utf-8 無BOM格式編碼,其實通過IDLE保存的文件的編碼只能設定爲utf-8 格式,所以在這裏提醒一下大家保存的時候要先通過其他文本編輯器將式轉換爲 utf-8 無BOM格式編碼,阿海推薦一個簡單易用的編輯器 Notepad++ ,這個編輯器同時也可以作爲Python代碼編輯器,而轉換格式的功能在 “格式”菜單中。
 
第四步,編譯與打包PyS60程序
(1)、編譯。Python是一種解釋性的語言,相對而言其運行效率遠沒有C/C++等語言高,所以Python官方提供了將py文件編譯成二進制碼的pyc文件,以提高程序的運行效率。我們如何對已寫好的py文件進行編譯,一個很簡單的辦法就是在IDLE中直接輸入下面的命令:
 
  import py_compile
  file=raw_input("請輸入需要編譯文件的路徑:")   #例如我們所要編譯的文件在"c:/python25/ball.py"
  py_compile.compile(file)
 
第一句的意思是:調用Python本身提供的py_compile模塊,第二句的意思是將你所要編譯的py文檔的調用並賦值給file,最後一句就是用py_compile模塊的compile方法對file進行編譯,編譯後可以將該文件進行打包,轉換爲S60系統下的sis安裝文件。
 
(2)、打包。如果我們的程序在S60虛擬機上測試已經沒有問題了,那麼我們就可以開始將我們程序打包成sis文件,安裝到我們的手機上。首先我們要準備兩個文件:ensymble.rar  和  openssl.zip 。點擊進入下載頁面下載後將ensymble.rar解壓並將解壓得的文件 ensymble.py 複製到你電腦上Python2.5的安裝目錄下,以我爲例的話就是將ensymble.py文件複製到C:/python25/ 中。然後再將openssl.zip 解壓,將解壓得到的文件複製到 系統盤 windows目錄下例如 C:/windows/  。
做好這些後,我們就可以來將我們的程序打包了,在 "開始"--"運行" 中輸入cmd,進入命令行模式,然後輸入 cd c:/python25/  進入到Python的文件目錄下接下來的事情就有點難了,我們要在命令行下輸入:Python ensymble.py py2sis 源代碼.py --uid=0x12345678 --caps=”ReadUserData+UserEnvironment+WriteUserData” --icon=圖標文件.svg 目標程序.sis

下面我要重點解釋下這段命令的含義:
1、前面的"Python ensymble.py py2sis"不用解釋什麼了,就是告訴CMD你要幹什麼
2、"源代碼.py" 這個就是你的源代碼的名字,是什麼就打什麼,直接打名字就可以了,因爲我們已經放到了python根目錄下了
3、接下來的東西 --(兩個減號),後面的都是參數,有些是必要,不能少,有些是非必要,可以去掉。
4、"--uid=0x12345678" (必要)軟件的 UID ,不能與別的程序衝突,一般亂填的話沒問題吧。。重複的概率蠻小的
5、"--caps=”ReadUserData+UserEnvironment+WriteUserData”" (非必要)caps就是權限,這裏包含3個權限,可以自行去掉,我現在也就知道這三個權限,別的以後添加
6、"--icon=圖標文件.svg"(非必要),很簡單,圖標文件,用法同理可得
7、"目標程序.sis" (必要),生成sis文件的名字別
         注意不要漏掉這行命令中間的空格哦,漏掉了就沒用了。
 
老實說這麼做實在太麻煩了,所以下面我提供一個簡單的方式,我將上面 ensymble.rar  和  openssl.zip 打包成一個安裝文件,而且還寫了一個程序來完成那個命令行的工作。
 
 
目前暫定的學習方向是PyS60的遊戲開發+delphi開發PyS60的編程環境
一切都處於入門的階段啊,慢慢努力!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章