ride.py 启动报错
报错问题:
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
解决办法:找到python3.6.6\Lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py文件,修改_create_font函数
修改后的代码为:
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
参考:https://blog.csdn.net/u011127242/article/details/88864476
踩坑是成长最快的方式