cascremers / scyther

The Scyther Tool for the symbolic analysis of security protocols
https://cispa.saarland/group/cremers/scyther/index.html
96 stars 38 forks source link

wx.SplashScreen Error #15

Closed jhkim07 closed 1 year ago

jhkim07 commented 7 years ago

I am using macOS Sierra and installed wxpython-3.0.2.0, graphviz-2.40.1, and python 2.7. When I run >>python scyther-gui.py, the following error comes up.

Traceback (most recent call last): File "scyther-gui.py", line 141, in class MySplashScreen(wx.SplashScreen): AttributeError: 'module' object has no attribute 'SplashScreen'

Could you help me resolve this problem?

urbangemz commented 6 years ago

I get this same issue on os x el capitan

gaizka64 commented 6 years ago

Me too. I read somewhere that it could be because we installed a bad version of wxPython. I tried using 'pip', using 'brew' but didn't manage....

Yueneko29 commented 6 years ago

I got this same error at the first time After I re-installed then it can work I use windows 10 and installed python2.7 、 graphviz 0.8.2 and wxPython 4.0.1 But i still don't know what's the problem

cascremers commented 6 years ago

It seems this is caused by a change in wxPython that is not backwards compatible, see e.g.:

https://stackoverflow.com/questions/17844032/wx-splashscreen-doesnt-work

Using an older version of wxPython (2.6/2.7) might solve this, but Scyther needs an explicit check for wxPython versions to let the user know what the problem is. Ideally, we move to a newer version of wxPython, but this might involve more substantial changes.

amgamundani commented 6 years ago

Has there been any solution found for this problem yet as I am stuck on Mac OS Sierra 10.13

shahnewazsakib commented 5 years ago

I had this issue as well. You need to use wx.adv.SplashScreen instead of wx.SplashScreen and import wx.adv as well.

Thomas-Fleming commented 5 years ago

I downloaded and installed an older version as suggested in this thread, specifically 2.7.1.1 from SourceForge and that fixed the error for me. I'm not sure which is the latest version that works; this was the first one I attempted and it fixed the issue.

https://sourceforge.net/projects/wxpython/files/wxPython/2.7.1.1/

cascremers commented 5 years ago

Hi all,

Thanks for the comments. I hope to find the time soon to fix this. Ultimately it is down to wxPython not being backwards compatible; ideally we should fix Scyther to work with the most recent versions of wxPython (as well as Python 3), but it is a little bit of work to do so. I'd be very open to patches/pull requests that fix this!

Best,

Cas

On Fri, Nov 9, 2018 at 7:26 PM Tom notifications@github.com wrote:

I downloaded and installed an older version as suggested in this thread, specifically 2.7.1.1 from SourceForge and that fixed the error for me. I'm not sure which is the latest version that works; this was the first one I attempted and it fixed the issue.

https://sourceforge.net/projects/wxpython/files/wxPython/2.7.1.1/

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cascremers/scyther/issues/15#issuecomment-437450674, or mute the thread https://github.com/notifications/unsubscribe-auth/ABabOG05T9LG7GorD_PCG7G9t1fGFtw1ks5utcjPgaJpZM4MIv_Z .

Thomas-Fleming commented 5 years ago

Cas, I submitted a pull request. Changes are basic but all of the expected functionality now seems to work with wxPython 4.0 and I can't see any runtime errors. I'm not a Python developer so you should definitely double check before merging! :)

Tom

maerten commented 5 years ago

@Thomas-Fleming's changes fixed it for me (running macOS Mojave and installed wxPython via pip)

I couldnt scyther from source so I've copied the files in /Gui/* and /scyther-gui.py to the scyther-mac-v1.1.3 distribution.

JIAZHEN commented 5 years ago

Agreed. With @Thomas-Fleming 's PR I've got ScytherTool working (macOS Mojave and wxPython with pip)

cascremers commented 3 years ago

This should all be fixed in the python3-wxpython4 branch soon.