Repository: conda/conda

Issue:
latest 4.3.x (4.3.18-37-g79f86d4c) not picking up conda-build subcommands
From conda-build's test suite:

```
________________________________ test_skeleton_pypi ________________________________
Traceback (most recent call last):
  File "/home/dev/code/conda-build/tests/test_published_examples.py", line 15, in test_skeleton_pypi
    check_call_env(cmd.split())
  File "/home/dev/code/conda-build/conda_build/utils.py", line 670, in check_call_env
    return _func_defaulting_env_to_os_environ(subprocess.check_call, *popenargs, **kwargs)
  File "/home/dev/code/conda-build/conda_build/utils.py", line 666, in _func_defaulting_env_to_os_environ
    return func(_args, **kwargs)
  File "/opt/miniconda/lib/python2.7/subprocess.py", line 541, in check_call
    raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '['conda', 'skeleton', 'pypi', 'pyinstrument']' returned non-zero exit status 2
------------------------------- Captured stderr call -------------------------------
usage: conda [-h] [-V] command ...
conda: error: argument command: invalid choice: u'skeleton' (choose from u'info', u'help', u'list', u'search', u'create', u'install', u'update', u'upgrade', u'remove', u'uninstall', u'config', u'clean', u'package')
```

This seems to happen only with python 2.7, not 3.6: https://travis-ci.org/conda/conda-build/builds/232848688


Discussion:
Am able to reproduce

```
kfranz@0283:~/continuum/conda-build *(no branch) ❯ /conda/bin/conda info
Current conda install:

               platform : osx-64
          conda version : 4.3.18.post37+79f86d4cf
       conda is private : False
      conda-env version : 4.3.18.post37+79f86d4cf
    conda-build version : 3.0.0rc0
         python version : 2.7.12.final.0
       requests version : 2.12.0
       root environment : /conda  (writable)
    default environment : /conda
       envs directories : /conda/envs
                          /Users/kfranz/.conda/envs
          package cache : /conda/pkgs
                          /Users/kfranz/.conda/pkgs
           channel URLs : https://repo.continuum.io/pkgs/free/osx-64
                          https://repo.continuum.io/pkgs/free/noarch
                          https://repo.continuum.io/pkgs/r/osx-64
                          https://repo.continuum.io/pkgs/r/noarch
                          https://repo.continuum.io/pkgs/pro/osx-64
                          https://repo.continuum.io/pkgs/pro/noarch
            config file : /Users/kfranz/.condarc
             netrc file : None
           offline mode : False
             user-agent : conda/4.3.18.post37+79f86d4cf requests/2.12.0 CPython/2.7.12 Darwin/16.5.0 OSX/10.12.4
                UID:GID : 502:20
kfranz@0283:~/continuum/conda-build *(no branch) ❯ /conda/bin/conda skeleton -h
usage: conda [-h] [-V] command ...
conda: error: argument command: invalid choice: u'skeleton' (choose from u'info', u'help', u'list', u'search', u'create', u'install', u'update', u'upgrade', u'remove', u'uninstall', u'config', u'clean', u'package')
```
This could be my fault, checking.

Resolving patch:
diff --git a/conda/cli/conda_argparse.py b/conda/cli/conda_argparse.py
--- a/conda/cli/conda_argparse.py
+++ b/conda/cli/conda_argparse.py
@@ -121,7 +121,7 @@ def error(self, message):
             else:
                 argument = None
             if argument and argument.dest == "cmd":
-                m = re.compile(r"invalid choice: '([\w\-]+)'").match(exc.message)
+                m = re.compile(r"invalid choice: u?'([\w\-]+)'").match(exc.message)
                 if m:
                     cmd = m.group(1)
                     executable = find_executable('conda-' + cmd)


Test patch: