2014-01-23 75 views
5

當我通過啓動腳本「Boa.py」啓動命令行蟒蛇構造函數,我得到的消息說,「無法啓動蟒蛇構造函數成功

D:\Python27\Lib\site-packages\boa-constructor>python Boa.py 
Starting Boa Constructor v0.6.1 
importing wxPython 
reading user preferences 
Traceback (most recent call last): 
File "Boa.py", line 271, in <module> 
import Preferences, Utils 
File "D:\Python27\Lib\site-packages\boa-constructor\Preferences.py", line 151 
in <module> 
execfile(file) 
File "C:\Users\madfrog\.boa-constructor\prefs.rc.py", line 26, in <module> 
splitterStyle = wx.SP_LIVE_UPDATE | wx.SP_3DSASH | wx.NO_3D 
AttributeError: 'module' object has no attribute 'NO_3D' 

我的Python版本是2.7.4我下載了wxPyton的「32位Python 2.7」,有人說這是因爲wxPython的版本不匹配,但對我來說只有64位或32位,我不知道如何處理這個問題。重新安裝Python,它的版本是2.6?

感謝您的幫助。

回答

2

乙oa構造函數是一個非常古老的項目,7年來一直沒有發佈(或任何我能看到的提交)。很可能代碼是爲wxWindows/wxPython的舊版本編寫的,並且wx.NO_3D常量在以後的wx版本中已被刪除/重命名。您可以在project mailing列表中看到它已基本死亡(2013年有9封郵件)。真遺憾,這真的很好。

看起來有人提供了一個fork on BitBucket,它提供了2012年的提交 - 這可能對您更好。當然,專門提供NO_3D常數。它可能只會去wxPython 2.8,但它似乎是一個更好的開始。

5

我有同樣的問題。我無法告訴你爲什麼。我可以告訴你我是如何修復它的。

下載並解壓縮boa文件後,進入boa文件夾 (在Mac上,這可能是:/Users/your_user_name/Downloads/boa-constructor-0.6.1)。

然後:「grep的」含NO_3D每個文件(不管你要搜索一組文件中的字符串或使用,我不知道Windows如何做到這一點): 在我來說,我所做的: grep -ir NO_3D *

文件列表出現。只需編輯每個這樣的文件(有〜6)並刪除任何提及的「wx.NO_3D」。

例如,在鍵鼠/ BaseCompanions.py我找到一個匹配:

"self.windowStyles = ['wx.CAPTION', 'wx.MINIMIZE_BOX', 'wx.MAXIMIZE_BOX', 
     'wx.THICK_FRAME', 'wx.SIMPLE_BORDER', 'wx.DOUBLE_BORDER', 
     'wx.SUNKEN_BORDER', 'wx.RAISED_BORDER', 'wx.STATIC_BORDER',. 
     'wx.TRANSPARENT_WINDOW', 'wx.NO_3D', 'wx.TAB_TRAVERSAL',. 
     'wx.WANTS_CHARS', 'wx.NO_FULL_REPAINT_ON_RESIZE', 'wx.VSCROLL',. 
     'wx.HSCROLL', 'wx.CLIP_CHILDREN', 'wx.NO_BORDER', 'wx.ALWAYS_SHOW_SB']" 

看到 'wx.NO_3D' 在中間的某個地方。 刪除它並保存文件。繼續爲所有文件做這件事。

但是,在一個文件中存在一個小小的複雜情況:「Inspector.py」。 在這裏,你不能簡單地刪除wx.NO_3D。 特別是,本場比賽是: self.categories = wx.SplitterWindow(個體經營,-1, 風格= wx.NO_3D | wx.SP_3D | wx.SP_LIVE_UPDATE)

我所做的就是更換「 style = wx.DEFAULT_FRAME_STYLE「(我在其中一個文件中找到了這個默認名稱;你看到程序能夠識別出不同的」樣式「,所以我只是選擇了其他的樣式,而不是NO_3D) 。

然後,我只是跑寶兒用: 「蟒蛇Boa.py」

和它的工作(假設你已經安裝的模塊WX和需要任何其他的寶兒在首位,當然運行)。

0

嘗試wxPython的版本wxPython2.8-Win32的Unicode的2.8.12.1-py27

1

我已經卸載的wxPython 2.9.4.0,這是給我AttributeError的: '模塊' 對象有沒有屬性 'NO_3D',我已經安裝了wxPython2.8-win32-unicode-2.8.12.1-py27。 Boa構造函數不改變任何東西!