我有一款在OS X上的python 2.7.2開發的應用程序。 我使用模塊擱置,似乎默認爲Mac上的bsddb。 由於模塊bsddb不存在並且不在ActiveState的包管理器(pypm)中,因此該程序將無法在具有ActiveState python 2.7的Windows 7計算機上運行。 ActiveState的文檔在2.6版中已棄用。 我想它會嘗試bdddb,因爲創建數據庫的OS X python默認爲bsddb。 當我刪除擱置數據庫並在Windows上運行它時,它很高興地使用其他底層數據庫。 Mac的python也很開心。python擱置... bsddb不推薦...如何擱置使用另一個數據庫?
所以我認爲我應該強制使用非bdsdb後端擱置。像gdbm模塊一樣。 但我無法解決如何做到這一點。
我的問題是,在Windows下使用的ActiveState Python和嘗試使用,使一個Windows可執行良好py2exe。可執行文件失敗,因爲使用shelve試圖加載bsddb。當我運行該程序作爲python program.py它工作。所以我想我有另一個問題。使用上面的黑客沒有什麼區別。 –
您是否正在閱讀現有文件,或創建一個新的? – unutbu
我刪除擱置數據庫,以避免任何問題。我發現2004年發佈與調整我需要py2exe工作:我需要明確包括一個dbm克隆,所以我包括通過選項dubmdbm = {「py2exe」:{「includes」:[「dumbdbm」]}},i setup.py腳本。 –