From cd0404748e21259c8f21d9c98fb32283fb22f3ce Mon Sep 17 00:00:00 2001 From: Youness Alaoui Date: Mon, 16 Nov 2015 17:51:10 -0500 Subject: [PATCH] Use an alternative method to check for wxPython if distutils is not available --- Cura/gui/app.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/Cura/gui/app.py b/Cura/gui/app.py index 4aade333..d3fa61a9 100644 --- a/Cura/gui/app.py +++ b/Cura/gui/app.py @@ -114,14 +114,23 @@ class CuraApp(wx.App): from Cura.util import profile from Cura.util import resources from Cura.util import version - from distutils.version import LooseVersion resources.setupLocalization(profile.getPreference('language')) # it's important to set up localization at very beginning to install _ - if LooseVersion(wx.__version__) < LooseVersion('3.0'): - wx.MessageBox(_("This version of Cura requires WxPython version 3.0 or newer.\nYour current WxPython version is %s.") % wx.__version__, - _("WxPython version is too old"), wx.OK | wx.ICON_ERROR) - return + try: + from distutils.version import LooseVersion + + if LooseVersion(wx.__version__) < LooseVersion('3.0'): + wx.MessageBox(_("This version of Cura requires WxPython version 3.0 or newer.\nYour current WxPython version is %s.") % wx.__version__, + _("WxPython version is too old"), wx.OK | wx.ICON_ERROR) + return + except: + # distutils not found.. it can happen! + # Only check the first 3 characters of the version string instead + if float(wx.__version__[0:3]) < 3.0: + wx.MessageBox(_("This version of Cura requires WxPython version 3.0 or newer.\nYour current WxPython version is %s.") % wx.__version__, + _("WxPython version is too old"), wx.OK | wx.ICON_ERROR) + return #If we do not have preferences yet, try to load it from a previous Cura install if profile.getMachineSetting('machine_type') == 'unknown': -- 2.30.2