@@ -278,12 +278,14 @@ def _check_version_requirements(self, trait_object, raise_exception=True):
278278 min_ver = LooseVersion (str (trait_object .traits ()[name ].min_ver ))
279279 try :
280280 too_old = min_ver > version
281- except TypeError :
282- iflogger . warning (
281+ except TypeError as err :
282+ msg = (
283283 f"Nipype cannot validate the package version { version !r} for "
284- f"{ self .__class__ .__name__ } . Trait { name } requires version "
285- f">={ min_ver } . Please verify validity."
284+ f"{ self .__class__ .__name__ } . Trait { name } requires version >={ min_ver } ."
286285 )
286+ iflogger .warning (f"{ msg } . Please verify validity." )
287+ if self .config .getboolean ("execution" , "stop_on_unknown_version" ):
288+ raise ValueError (msg ) from err
287289 continue
288290 if too_old :
289291 unavailable_traits .append (name )
@@ -304,12 +306,14 @@ def _check_version_requirements(self, trait_object, raise_exception=True):
304306 max_ver = LooseVersion (str (trait_object .traits ()[name ].max_ver ))
305307 try :
306308 too_new = max_ver < version
307- except TypeError :
308- iflogger . warning (
309+ except TypeError as err :
310+ msg = (
309311 f"Nipype cannot validate the package version { version !r} for "
310- f"{ self .__class__ .__name__ } . Trait { name } requires version "
311- f"<={ max_ver } . Please verify validity."
312+ f"{ self .__class__ .__name__ } . Trait { name } requires version <={ max_ver } ."
312313 )
314+ iflogger .warning (f"{ msg } . Please verify validity." )
315+ if self .config .getboolean ("execution" , "stop_on_unknown_version" ):
316+ raise ValueError (msg ) from err
313317 continue
314318 if too_new :
315319 unavailable_traits .append (name )
0 commit comments