今天無事想弄下python做個gui開發,最近發布的是python 3k,用到了資料庫,通過搜尋發現有一個mysqldb這樣的控制項,可以使用,就去官方看了下結果,沒有2.6以上的版本,
沒辦法就下了一個2.6,如果用2.4就太低了,又折騰了,半天找到了MySQL-python-1.2.2.win32-py2.6.exe 這個安裝檔案,安裝完成,執行 import MySQLdb 出現問題提示:
File "C:/Python26/lib/site-packages/MySQLdb/__init__.py", line 19, in <module>
ImportError: DLL load failed: 找不到指定的模組。
經過無數的尋找,發現官方的說法也也不是很正確,官方給的解決辦法是 LD_LIBRARY_PATH 載入這樣一個環境變數,載入的一樣不能解決問題,更多的辦法是指linux下的處理,
win 上面沒有了,又找了無數資料,發現是缺少2個dll檔案分別為 libguide40.dll ,libmmd.dll 搜尋下,下載的地方不少,然後copy到 WINDOWS/system32 下面現在執行 又出現
了錯誤,這東西很神奇啊,錯誤提示為:
sys:1: DeprecationWarning: the sets module is deprecated
這個錯誤,我又找了無數的資料,看了很多東西,最後發現是 2.6這個版本已經不推薦使用 sets 這個模組了,但是為了相容性依然載入了這個模組但是做了警告提示,我想了很
多辦法不讓警告資訊放出來或者捕捉異常,等等沒有成功,採取了最惡劣的方式,修改原檔案,進入python安裝目錄找到如下檔案 Python26/Lib/sets.py 注釋掉 83-85行
#import warnings
#warnings.warn("the sets module is deprecated", DeprecationWarning,stacklevel=2)
就可以了,我上面給合并成2行了。
到現在 mysqldb 安裝完畢,沒有了任何錯誤輸出,也明白了,為什麼官方沒有推出2.6版本的mysqldb了。
python3k這個本版對sets module 應該已經支援了,所以官方從發布開始,一直沒有推出真正的版本,也就是說現在python3k還不能使用mysqldb這個空間串連mysql 。而且很多工
具現在也都不支援3k看來要實現 3k的普及還有很多的路要走,再這個階段想要學習python的人要不斷的選擇跟折磨中度過了。
我的gui還沒有開始,就用去了一天的時間。
作者 三石 sanshi0815
mail sanshi0815@tom.com