2014-01-23 4 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' 

Мой питон версия 2.7.4 и я загружаю wxPyton «32-разрядный Python 2.7». Кто-то говорит об этом, потому что непревзойденная версия wxPython, но для меня только 64-битная или 32-битная, я не знаю, как справиться с этой проблемой. переустанавливать питон, какая версия 2.6?

Спасибо за вашу помощь.

ответ

2

B oa Constructor - очень старый проект, который не выпускал (или какие-либо фиксации, которые я мог видеть) в течение 7 лет. Весьма вероятно, что код был написан для более старой версии wxWindows/wxPython и что константа wx.NO_3D была удалена/переименована в более поздние версии wx. Вы можете увидеть в списке project mailing, что он по существу мертв (9 сообщений в 2013 году). Жаль, все было очень хорошо.

Похоже, что кто-то сделал 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 (или использовать все, что вы хотите найти строки в наборе файлов, я не знаю, как это делает окно): В моем случае я сделал: 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.NO_3D "с" style = wx.DEFAULT_FRAME_STYLE "(я нашел это имя по умолчанию в одном из других файлов, вы видите, как разные программы распознаются программой, поэтому я просто выбрал другой стиль, чем NO_3D) ,

Тогда я побежал Boa с: «питон Boa.py»

, и она работала (если у вас установлен модуль WX и все, что еще нужно для Boa работать в первую очередь, конечно).

0

попробовать WxPython версия wxPython2.8-win32-юникод-2.8.12.1-PY27

1

Я удалил WxPython 2.9.4.0, что дает мне AttributeError: 'модуль' объект не имеет атрибута 'NO_3D' и I установили wxPython2.8-win32-unicode-2.8.12.1-py27. Boa Constructor работает, ничего не меняя !!!