2014-01-23 28 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构造函数不改变任何东西!