Python
test
mecab
CircleCI2.0

Circle CI 2.0上でmecab-pythonをテスト

背景

Circle CIMeCabを利用したコードのテストをするには、依存関係の解消はpipでは完結しません。既にQiitaにCircleCIでmecab-pythonをインストールするがあるが、この記事はCircle CIのバージョンが1.0なのと少々やり方が煩雑だったのでまとめ直しました。

結論

Pythonのdockerでmachineを構築したあとにaptを使えばOK。

config例

.circleci/config.yml
version: 2
jobs:
  build:
    docker:
      - image: python:3

    steps:
      - checkout

      - run:
          name: Install MeCab
          command: |
            apt-get update;
            apt-get -y install mecab libmecab-dev mecab-ipadic-utf8

      - run:
          name: Install python dependencies
          command: pip install -r requirements.txt
requirements.txt
mecab-python3

超簡単 :v:

ハマったところ

  • apt-get updateを事前にやらないとMeCab packageがないと怒られる.
  • sudoはこのimageでは不要.むしろ、sudoがあると怒られる.

あとがき

これで簡単にMeCabを利用したコードをCircle CIでテストすることができました。ちなみに、Neologdに依存したテストを行うために毎度これをInstallするとテスト時間が増大してしまうので、Caching Dependenciesを使うと良さそう。ざっとドキュメントを見た限りかなり複雑な設定をしなきゃいけないので、また機会があったときに勉強してまとめたいです!!