Skip to main content

97 posts tagged with "python"

View All Tags

· 2 min read

TurboGears 在進入 1.0b 版本後吸引了許多新的使用者, 為了讓安裝 Python 跟 TurboGears 再更簡易. TurboGears 開發者 Kevin 釋出了新的簡單安裝工具 tgsetup.py, 將 SetupTools 與 TurboGears 的安裝步驟合而為一,讓安裝 TurboGears 的過程更簡單. 只需兩個步驟就能安裝好 TurboGears:

1. 安裝 Python

Linux 使用者: 一般說來,你的 Linux 發行版本 (Distribution) 裡早已預裝了 Python, 並且偷偷用在了一些內附的程式中。你可以輸入

$whereis python 來查看它的存在. 如果你是 Ubuntu 的使用者,你需要再安裝幾個必備的套件 $ sudo apt-get install gcc libc6-dev python2.4-dev

Windows 使用者: 到 www.python.org 下載 python 2.4 安裝檔,接著只要按 "下一步" 按鈕就能安裝成功. 安裝成功後需要設定環境變數。進入 "控制台"->"系統"->"進階"->"環境變數", 並選擇 "編輯" path 變數. 在 path 變數前端加入

C:\Python24\Scripts; (安裝路徑 \Scripts) 敘述.

其他平台使用者: 請參考 www.python.org 網站

2. 安裝 TurboGears

各平台使用者都可以從 www.turbogears.org/download/ 下載 tgsetup.py 檔案。在命令列輸入

python tgsetup.py

Windows 使用者可以直接在命令列輸入

tgsetup.py

tgsetup.py 會自動從網路上下載相關的檔案來安裝 TurboGears.

· 2 min read

白話翻譯是:怎麼在 Linux 或 Windows 平台上將 python 的安裝蛋 (.egg) 上傳到 Python 檔案集散地 CheeseShop 上.(取了個白目的標題 XD)

一般來說,要上傳安裝檔到 CheeseShop, 只要輸入

setup.py bdist_egg upload

即可. "bdist_egg" 是通知 setup.py 將我的程式封裝成安裝蛋 (.egg), "upload" 是通知 setup.py 將我剛封裝好的程式上傳至 CheeseShop. (另外一個常用的命令是 "register", 可以直接更新 CheeseShop 上的程式發佈資訊)

但是在 Windows 上使用 setup.py upload 命令一般會得到下面這樣非常無用的錯誤報告:

Submitting dist/your.egg to http://www.python.org/pypi Upload failed (401): Authorization Required

仔細查過文件才發現,原來是在上傳之前,需先建立一個 .pypirc 文件,內容是儲存欲登入 cheeseshop 的帳號密碼。如下:

[server-login] username:james password:password

在 Linux 上,可以在 home 目錄下建立.pypirc 文件;

在 Windows 上則是放在 Documents and Settings 目錄。例如 C:\Documents and Settings\Gasolin

在 Windows 下一般無法編輯 .xxx 開頭的檔案,這時可以在命令列下輸入

edit .pypirc

來編輯 .pypirc 檔案.

編輯完儲存後,需在命令列下設置 HOME 環境變數.

SET HOME=C:\Documents and Settings\James

當設定完成後,就可以輕鬆使用 CheeseShop 提供的所有功能囉!

· One min read

TurboGears 1.0 b1 發佈囉!

在看到這個訊息後我把剛寫好的 TurboJinja 插件也順便發佈了.

和 TurboDjago 模板插件一樣,TurboJinja 可以讓你在 TurboGears 上用 Django 的 template, 只是用 TurboJinja 的話不需要先安裝 Django.

http://docs.turbogears.org/1.0/DjangoTemplating

TurboGears 的 API 在最近這的三個月中幾乎沒有改動, 1.0b1 發佈後,現在 TurboGears 的文件也很齊全了, 正是學習的好時機:-)

· One min read

網路上找到 Algorithms 一書,由於書上都是虛擬碼,試試看用 Python 來做點練習

下面是序章 Prologue 的例子:

目標: 用 Python 實現 fibonacci 數列 [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 .....]

Python 程式碼:

def Fib1(n):
"""遞迴函式"""
if n==0:
return 0
elif n==1:
return 1
else:
return Fib1(n-1) + Fib1(n-2)

def Fib2(n):
"""用列表暫存結果"""
f = [0]*(n+1)
f[1] = 1
if n<2:
return f[n]
else:
for i in xrange(2,n+1):
f[i]=f[i-1]+f[i-2]
return f[n],f

if __name__=="__main__":
"""試算結果"""
import time
testtimes = 3

for i in xrange(testtimes):
begintime = time.clock()
print Fib1(30)
endtime = time.clock()
print endtime - begintime

for i in xrange(testtimes):
begintime = time.clock()
print Fib2(30)
endtime = time.clock()
print endtime - begintime

執行結果: 832040 4.24318425945 (Fib1) 832040 7.90603275007e-005 (Fib2)