python - 无法成功启动boa-constructor

标签 python python-2.7 wxpython boa-constructor

当我通过启动脚本“Boa.py”从命令行启动 boa-constructor 时,我收到消息“

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?

感谢您的帮助。

最佳答案

我遇到了同样的问题。我不能告诉你为什么。我可以告诉你我是如何修复它的。

下载并解压 boa 文件后,进入 boa 文件夹 (在 Mac 上,这可能是:/Users/your_user_name/Downloads/boa-constructor-0.6.1)。

然后:为每个包含 NO_3D 的文件“grep”(或者使用任何你想在一组文件中搜索字符串的东西,我不知道 windows 是怎么做到的): 就我而言,我做了: grep -ir NO_3D *

出现一个文件列表。只需编辑每个这样的文件(大约有 6 个)并删除所有提及的“wx.NO_3D”。

例如,在 Companions/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(self, -1, style=wx.NO_3D | wx.SP_3D | wx.SP_LIVE_UPDATE)

我所做的是将“style=wx.NO_3D”替换为“style=wx.DEFAULT_FRAME_STYLE”(我在其他文件之一中找到了这个默认名称;你看程序如何识别不同的“样式”所以我只是选择了 NO_3D 以外的其他样式)。

然后我运行 Boa: “ python python .py”

它成功了(假设你已经安装了模块 wx 并且当然首先需要 Boa 运行所需的任何其他东西)。

关于python - 无法成功启动boa-constructor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21304450/

相关文章:

python - 我在基本冒泡排序中做错了什么?

java - 桌面 UI 设计工具,最好是 Java 或 Java 包装器

windows - 控制台小部件 wxpython

python - pandas 和 fuzzywuzzy 匹配百分比未正确

python - 使用 pandas 根据其他列的值获取最新值

python - ContentType.objects.get_for_model(obj) 在代理模型对象上使用时返回基类模型

python-2.7 - 从 Python NLTK 或其他模块中的任何单词中获取音素?

python - 使用 Fabric 部署到多个 EC2 服务器

python - 默认可变参数的惯用方式

python - wxPython:绑定(bind)wx.EVT_CHAR_HOOK禁用TextCtrl退格键