[Solved] Ride.py startup error: Error in atexit._run_exitfuncs

Error reporting:

C:\Users\iphauser>ride.py
Traceback (most recent call last):
  File "d:\soft\python36\lib\site-packages\robotide\application\application.py", line 59, in OnInit
    self._plugin_loader.enable_plugins()
  File "d:\soft\python36\lib\site-packages\robotide\application\pluginloader.py", line 43, in enable_plugins
    p.enable_on_startup()
  File "d:\soft\python36\lib\site-packages\robotide\application\pluginconnector.py", line 52, in enable_on_startup
    self.enable()
  File "d:\soft\python36\lib\site-packages\robotide\application\pluginconnector.py", line 57, in enable
    self._plugin.enable()
  File "d:\soft\python36\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 162, in enable
    self._build_ui()
  File "d:\soft\python36\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 558, in _build_ui
    self._build_notebook_tab()
  File "d:\soft\python36\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 734, in _build_notebook_tab
    self.out = self._create_output_textctrl()
  File "d:\soft\python36\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 769, in _create_output_textctrl
    font = self._create_font()
  File "d:\soft\python36\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 789, in _create_font
    font=wx.SystemSettings.GetFont(wx.SYS_ANSI_FIXED_FONT)
wx._core.wxAssertionError: C++ assertion "wxFontEnumerator::IsValidFacename(font.GetFaceName())" failed at ..\..\src\msw\settings.cpp(301) in wxSystemSettingsNative::GetFont():
OnInit returned false, exiting...
Error in atexit._run_exitfuncs:
wx._core.wxAssertionError: C++ assertion "GetEventHandler() == this" failed at ..\..\src\common\wincmn.cpp(478) in wxWindowBase::~wxWindowBase(): any pushed event handlers must have been removed

Solution: find the python 3.6.6 \ lib \ site packages \ robot \ contrib \ testunner \ testunnerplugin.py file and modify it_create_Font function

 

The modified code is:

    def _create_font(self):
        #font=wx.SystemSettings.GetFont(wx.SYS_ANSI_FIXED_FONT) #default font has error
        font = wx.SystemSettings.GetFont(wx.SYS_SYSTEM_FONT) #set a number in [0-8,10,13],then run ride successfully,SYS_SYSTEM_FONT=13,represents system font
        if not font.IsFixedWidth():
            # fixed width fonts are typically a little bigger than their
            # variable width peers so subtract one from the point size.
            font = wx.Font(font.GetPointSize()-1, wx.FONTFAMILY_MODERN,
                           wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL)
        return font

 

Similar Posts: