为什么我仍然在Django v1.7.4中使用optparse?

时间:2015-03-16 16:24:35

标签: python django argparse optparse

argparse是Django(据称)根据this committhis support ticket用于解析命令行的工具。

然而,现在已经过了九个月,当我访问BaseCommand声明时,我看到了:

from optparse import make_option, OptionParser

...

option_list = (
    make_option('-v', '--verbosity', action='store', dest='verbosity', default='1',
        type='choice', choices=['0', '1', '2', '3'],
        help='Verbosity level; 0=minimal output, 1=normal output, 2=verbose output, 3=very verbose output'),
    make_option('--settings',
        help='The Python path to a settings module, e.g. "myproject.settings.main". If this isn\'t provided, the DJANGO_SETTINGS_MODULE environment variable will be used.'),
    make_option('--pythonpath',
        help='A directory to add to the Python path, e.g. "/home/djangoprojects/myproject".'),
    make_option('--traceback', action='store_true',
        help='Raise on exception'),
    make_option('--no-color', action='store_true', dest='no_color', default=False,
        help="Don't colorize the command output."),
)

Django何时会在1.7中使用argparse

1 个答案:

答案 0 :(得分:2)

您链接的提交标记为v1.8b2。查看稳定的v1.7.xv1.8.x分支的源代码,它将看起来像argparse作为v1.8中的默认值。另请参阅v {1.8的release notes

但是,optparse将作为后备选项(允许继续支持2.7 / 3.2之前的Python版本),直到Django v2。根据{{​​3}}:

  在Django 1.8 / 1.9版本中应该支持

optparse