twine 실행 시 ConfigParser.ParsingError: File contains parsing errors: /root/.pypirc
twine 실행 시 다음과 같은 오류가 발생합니다.
$ twine upload --repository pypi /app/mytest-1.0.0.0-py2-none-any.whl
Traceback (most recent call last):
  File "/usr/local/bin/twine", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/site-packages/twine/__main__.py", line 28, in main
    return dispatch(sys.argv[1:])
  File "/usr/local/lib/python2.7/site-packages/twine/cli.py", line 77, in dispatch
    return main(args.args)
  File "/usr/local/lib/python2.7/site-packages/twine/commands/upload.py", line 134, in main
    upload_settings = settings.Settings.from_argparse(args)
  File "/usr/local/lib/python2.7/site-packages/twine/settings.py", line 229, in from_argparse
    return cls(**settings)
  File "/usr/local/lib/python2.7/site-packages/twine/utils.py", line 331, in wrapper
    return function(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/twine/settings.py", line 110, in __init__
    repository_name=repository_name, repository_url=repository_url,
  File "/usr/local/lib/python2.7/site-packages/twine/settings.py", line 244, in _handle_repository_options
    repository_url,
  File "/usr/local/lib/python2.7/site-packages/twine/utils.py", line 121, in get_repository_from_config
    return get_config(config_file)[repository]
  File "/usr/local/lib/python2.7/site-packages/twine/utils.py", line 74, in get_config
    parser.read(path)
  File "/usr/local/lib/python2.7/ConfigParser.py", line 305, in read
    self._read(fp, filename)
  File "/usr/local/lib/python2.7/ConfigParser.py", line 546, in _read
    raise e
ConfigParser.ParsingError: File contains parsing errors: /root/.pypirc
        [line  2]: '  username = __token__\n'
        [line  3]: '  password = pypi-...[생략]...C4Wko'
재미있는 건, 동일한 "/root/.pypirc" 파일로 python 3에서는 잘 동작한다는 점입니다. 문제의 원인은, 들여 쓰기에 있었습니다. 즉, 다음과 같은 파일의 내용이,
[pypi]
  username = __token__
  password = pypi-...[생략]...C4Wko
이렇게 초기 들여쓰기를 제거해야만 정상적으로 twine 업로드가 진행됩니다.
[pypi]
username = __token__
password = pypi-...[생략]...C4Wko
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]