Я проверил источники модуля cmd, и он импортирует readline там, где он нужен, в блоке try-Кроме, чтобы перехватить ImportError.Тогда лучший способ узнать, включено ли завершение, - это просто использовать следующее:
try:
import readline
completion_available = True
except ImportError:
completion_available = False