I've updated this PR to use optparse when it fails to import argparse