已经安装了Scyther,以及Graphwiz和wxPython,我得到了错误:
File "scyther-gui.py", line 141, in <module>
class MySplashScreen(wx.SplashScreen):
AttributeError:“模块”对象没有属性“ SplashScreen”
答案 0 :(得分:2)
这显然是因为Scyther是用wxPython的旧版本编写的。
我发现Thomas Fleming已为wxPython的最新版本(我有4.0.7.post2)对其进行了更新,您可以找到他的GitHub存储库here。看起来它有时会被拉入主分支,但此刻我使用了他的叉子。
自述文件中的说明很清楚,我没问题,但对我来说文件scyther-linux
并没有自动从/src
复制到/gui
,所以我不得不手动移动它。
他的修复程序似乎也适用于Mac上的用户,但是,我使用的是Ubuntu 18.4,尽管我克服了启动画面错误并加载了Scyther,但无法打开文件,得到
File "/home/weaver/tools/scyther-master/gui/Gui/Mainwindow.py", line 291, in OnOpen
if self.askUserForFilename(style=wx.OPEN,
AttributeError: 'module' object has no attribute 'OPEN'
并等同于保存。
要解决此问题,我打开了/gui/Gui/Mainwindow.py
,并将第291行更改为
if self.askUserForFilename(style=wx.OPEN,
到
if self.askUserForFilename(style=wx.FD_OPEN,
在第302行对wx.SAVE
进行了同样的操作,将其更改为wx.FD_SAVE
。
到目前为止,一切似乎还不错。
希望这会有所帮助。