素人エンジニアの開発日記

個人開発が趣味の素人エンジニアが日記を書きます

CircleCIでS3にデプロイしようとしたらSyntaxError: invalid syntaxで失敗した

いつもlintでエラー出てたので、どうせlintだろと思ってログを見たら

# aws --version
Traceback (most recent call last):
  File "/bin/aws", line 19, in <module>
    import awscli.clidriver
  File "/usr/lib/python2.7/site-packages/awscli/clidriver.py", line 36, in <module>
    from awscli.help import ProviderHelpCommand
  File "/usr/lib/python2.7/site-packages/awscli/help.py", line 20, in <module>
    from docutils.core import publish_string
  File "/usr/lib/python2.7/site-packages/docutils/core.py", line 246
    print('\n::: Runtime settings:', file=self._stderr)
                                         ^
SyntaxError: invalid syntax

??!

なんだと思って調べてみたら、こんなissueを発見。

github.com

pythonのdocutilのバージョンが0.15に上がったことによる不具合らしい

configのaws cliのインストール後に pip install docutils==0.14 をすると治るとか

pip install awscli --user
pip install docutils==0.14

successした。いぇい。