def METHOD_NAME(self):
	"""
	Detects PyQt5 or PySide2 programs such as pyuic5/pyside2-uic, pyrcc5/pyside2-rcc
	"""
	env = self.env
	if getattr(Options.options, 'want_pyqt5', True):
		self.find_program(['pyuic5'], var='QT_PYUIC')
		self.find_program(['pyrcc5'], var='QT_PYRCC')
		self.find_program(['pylupdate5'], var='QT_PYLUPDATE')
	elif getattr(Options.options, 'want_pyside2', True):
		self.find_program(['pyside2-uic'], var='QT_PYUIC')
		self.find_program(['pyside2-rcc'], var='QT_PYRCC')
		self.find_program(['pyside2-lupdate'], var='QT_PYLUPDATE')
	elif getattr(Options.options, 'want_pyqt4', True):
		self.find_program(['pyuic4'], var='QT_PYUIC')
		self.find_program(['pyrcc4'], var='QT_PYRCC')
		self.find_program(['pylupdate4'], var='QT_PYLUPDATE')
	else:
		self.find_program(['pyuic5','pyside2-uic','pyuic4'], var='QT_PYUIC')
		self.find_program(['pyrcc5','pyside2-rcc','pyrcc4'], var='QT_PYRCC')
		self.find_program(['pylupdate5', 'pyside2-lupdate','pylupdate4'], var='QT_PYLUPDATE')
	if not env.QT_PYUIC:
		self.fatal('cannot find the uic compiler for python for qt5')
	if not env.QT_PYRCC:
		self.fatal('cannot find the rcc compiler for python for qt5')
	self.find_program(['lrelease-qt5', 'lrelease'], var='QT_LRELEASE')